Skip to content

Commit 4012f09

Browse files
PWGCF: Adding Identified Balance Functions (#4619)
* Adding functionality for Identified two particle correlations and balance functions * Reuploading code for Identified Balance Functions * Fixed white space formatting error in CMakeLists.txt * Please consider the following formatting changes * Fixed Linter errors * Please consider the following formatting changes * Fixed additional linter errors * Please consider the following formatting changes * Fixed linter include linter error * Fixed linter error where I wrote DataModel instead of TableProducer in header --------- Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent a91594c commit 4012f09

File tree

7 files changed

+3668
-0
lines changed

7 files changed

+3668
-0
lines changed
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
#ifndef PWGCF_TWOPARTICLECORRELATIONS_DATAMODEL_IDENTIFIEDBFFILTERED_H_
12+
#define PWGCF_TWOPARTICLECORRELATIONS_DATAMODEL_IDENTIFIEDBFFILTERED_H_
13+
14+
#include "Framework/ASoA.h"
15+
#include "Framework/AnalysisDataModel.h"
16+
17+
namespace o2
18+
{
19+
namespace aod
20+
{
21+
/* we have to change from int to bool when bool columns work properly */
22+
namespace identifiedbffilter
23+
{
24+
DECLARE_SOA_COLUMN(IdentifiedBfCFCollisionAccepted, collisionaccepted, uint8_t); //! If the collision/event has been accepted or not
25+
DECLARE_SOA_COLUMN(IdentifiedBfCFCollisionCentMult, centmult, float); //! The centrality/multiplicity pecentile
26+
DECLARE_SOA_DYNAMIC_COLUMN(IsCollisionAccepted, //! Is the collision/event accepted
27+
iscollisionaccepted,
28+
[](uint8_t _collisionaccepted) -> uint8_t { return _collisionaccepted; });
29+
DECLARE_SOA_DYNAMIC_COLUMN(IsGenCollisionAccepted, //! Is the generated collision/event accepted
30+
isgencollisionaccepted,
31+
[](uint8_t _collisionaccepted) -> uint8_t { return _collisionaccepted; });
32+
} // namespace identifiedbffilter
33+
DECLARE_SOA_TABLE(IdentifiedBfCFAcceptedCollisions,
34+
"AOD",
35+
"IBFCFACCCOLL", //! Accepted reconstructed collisions/events filtered table
36+
o2::soa::Index<>,
37+
collision::BCId,
38+
collision::PosZ,
39+
identifiedbffilter::IdentifiedBfCFCollisionAccepted,
40+
identifiedbffilter::IdentifiedBfCFCollisionCentMult,
41+
identifiedbffilter::IsCollisionAccepted<identifiedbffilter::IdentifiedBfCFCollisionAccepted>);
42+
using IdentifiedBfCFAcceptedCollision = IdentifiedBfCFAcceptedCollisions::iterator;
43+
DECLARE_SOA_TABLE(IdentifiedBfCFAcceptedTrueCollisions,
44+
"AOD",
45+
"IBFCFACCGENCOLL", //! Accepted generated collisions/events filtered table
46+
o2::soa::Index<>,
47+
collision::BCId,
48+
mccollision::PosZ,
49+
identifiedbffilter::IdentifiedBfCFCollisionAccepted,
50+
identifiedbffilter::IdentifiedBfCFCollisionCentMult,
51+
identifiedbffilter::IsGenCollisionAccepted<identifiedbffilter::IdentifiedBfCFCollisionAccepted>);
52+
using IdentifiedBfCFAcceptedTrueCollision = IdentifiedBfCFAcceptedTrueCollisions::iterator;
53+
DECLARE_SOA_TABLE(
54+
IdentifiedBfCFCollisionsInfo,
55+
"AOD",
56+
"IBFCFCOLLINF", //! Accepted reconstructed collisions/events Collisions joinable table
57+
identifiedbffilter::IdentifiedBfCFCollisionAccepted,
58+
identifiedbffilter::IdentifiedBfCFCollisionCentMult,
59+
identifiedbffilter::IsCollisionAccepted<identifiedbffilter::IdentifiedBfCFCollisionAccepted>);
60+
DECLARE_SOA_TABLE(
61+
IdentifiedBfCFGenCollisionsInfo,
62+
"AOD",
63+
"IBFGENCFCOLLINF", //! Accepted generated collisions/events mcCollisions joinable table
64+
identifiedbffilter::IdentifiedBfCFCollisionAccepted,
65+
identifiedbffilter::IdentifiedBfCFCollisionCentMult,
66+
identifiedbffilter::IsGenCollisionAccepted<identifiedbffilter::IdentifiedBfCFCollisionAccepted>);
67+
namespace identifiedbffilter
68+
{
69+
DECLARE_SOA_INDEX_COLUMN(IdentifiedBfCFAcceptedCollision, event); //! Reconstructed collision/event
70+
DECLARE_SOA_INDEX_COLUMN(IdentifiedBfCFAcceptedTrueCollision, mcevent); //! Generated collision/event
71+
DECLARE_SOA_COLUMN(TrackacceptedId,
72+
trackacceptedid,
73+
int8_t); //! Id of accepted track, criteria: even (+) odd (-)
74+
DECLARE_SOA_COLUMN(Pt, pt, float); //! The track transverse momentum
75+
DECLARE_SOA_COLUMN(Eta, eta, float); //! The track pseudorapidity
76+
DECLARE_SOA_COLUMN(Phi, phi, float); //! The track azimuthal angle
77+
DECLARE_SOA_DYNAMIC_COLUMN(Sign,
78+
sign, //! Charge: positive: 1, negative: -1
79+
[](int8_t trackacceptedid) -> int8_t {
80+
return (trackacceptedid % 2 == 0
81+
? 1
82+
: (trackacceptedid % 2 == 1 ? -1 : 0));
83+
});
84+
DECLARE_SOA_DYNAMIC_COLUMN(TrkID,
85+
trkid, //! The track id
86+
[](int8_t trackacceptedid) -> int8_t { return trackacceptedid; });
87+
DECLARE_SOA_DYNAMIC_COLUMN(PartID,
88+
partid, //! The generated particle id
89+
[](int8_t trackacceptedid) -> int8_t { return trackacceptedid; });
90+
} // namespace identifiedbffilter
91+
DECLARE_SOA_TABLE(ScannedTracks, "AOD", "SCANNEDTRACKS", //! The reconstructed tracks filtered table
92+
identifiedbffilter::IdentifiedBfCFAcceptedCollisionId,
93+
identifiedbffilter::TrackacceptedId,
94+
identifiedbffilter::Pt,
95+
identifiedbffilter::Eta,
96+
identifiedbffilter::Phi,
97+
identifiedbffilter::Sign<identifiedbffilter::TrackacceptedId>);
98+
DECLARE_SOA_TABLE(ScannedTrueTracks, "AOD", "SCANTRUETRACKS", //! The generated particles filtered table
99+
identifiedbffilter::IdentifiedBfCFAcceptedTrueCollisionId,
100+
identifiedbffilter::TrackacceptedId,
101+
identifiedbffilter::Pt,
102+
identifiedbffilter::Eta,
103+
identifiedbffilter::Phi,
104+
identifiedbffilter::Sign<identifiedbffilter::TrackacceptedId>);
105+
DECLARE_SOA_TABLE(IdentifiedBfCFTracksInfo, "AOD", "SCANDTRCKINF", //! The additional information Tracks joinable table
106+
identifiedbffilter::TrackacceptedId,
107+
identifiedbffilter::TrkID<identifiedbffilter::TrackacceptedId>);
108+
DECLARE_SOA_TABLE(IdentifiedBfCFGenTracksInfo, "AOD", "SCANDGENTRCKINF", //! The additional information mcParticle joinable table
109+
identifiedbffilter::TrackacceptedId,
110+
identifiedbffilter::Sign<identifiedbffilter::TrackacceptedId>,
111+
identifiedbffilter::PartID<identifiedbffilter::TrackacceptedId>);
112+
} // namespace aod
113+
} // namespace o2
114+
115+
#endif // PWGCF_TWOPARTICLECORRELATIONS_DATAMODEL_IDENTIFIEDBFFILTERED_H_

PWGCF/TwoParticleCorrelations/TableProducer/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,8 @@ o2physics_add_dpl_workflow(twopartcorr-filter
2828
SOURCES twoParticleCorrelationsFiltering.cxx
2929
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::TwoPartCorrCore
3030
COMPONENT_NAME Analysis)
31+
32+
o2physics_add_dpl_workflow(identifiedbf-filter
33+
SOURCES identifiedBfFilter.cxx
34+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::PWGCFCore
35+
COMPONENT_NAME Analysis)

0 commit comments

Comments
 (0)