@@ -49,9 +49,12 @@ namespace reco_tree
4949// event info
5050DECLARE_SOA_COLUMN (RecoSetting, recoSetting, uint16_t );
5151DECLARE_SOA_COLUMN (RunNumber, runNumber, int32_t );
52+ DECLARE_SOA_COLUMN (PosX, posX, float );
53+ DECLARE_SOA_COLUMN (PosY, posY, float );
5254DECLARE_SOA_COLUMN (PosZ, posZ, float );
5355DECLARE_SOA_COLUMN (OccupancyInTime, occupancyInTime, float );
5456DECLARE_SOA_COLUMN (HadronicRate, hadronicRate, float );
57+ DECLARE_SOA_COLUMN (LocalBC, localBC, int );
5558// FIT info
5659DECLARE_SOA_COLUMN (TotalFT0AmplitudeA, totalFT0AmplitudeA, float );
5760DECLARE_SOA_COLUMN (TotalFT0AmplitudeC, totalFT0AmplitudeC, float );
@@ -88,7 +91,7 @@ DECLARE_SOA_COLUMN(LeadingTrackPrPID, leadingTrackPrPID, float);
8891DECLARE_SOA_COLUMN (SubleadingTrackPrPID, subleadingTrackPrPID, float );
8992} // namespace reco_tree
9093DECLARE_SOA_TABLE (RecoTree, " AOD" , " RECOTREE" ,
91- reco_tree::RecoSetting, reco_tree::RunNumber, reco_tree::PosZ, reco_tree::OccupancyInTime, reco_tree::HadronicRate,
94+ reco_tree::RecoSetting, reco_tree::RunNumber, reco_tree::PosX, reco_tree::PosY, reco_tree:: PosZ, reco_tree::OccupancyInTime, reco_tree::HadronicRate, reco_tree::LocalBC ,
9295 reco_tree::TotalFT0AmplitudeA, reco_tree::TotalFT0AmplitudeC, reco_tree::TotalFV0AmplitudeA, reco_tree::TotalFDDAmplitudeA, reco_tree::TotalFDDAmplitudeC,
9396 reco_tree::TimeFT0A, reco_tree::TimeFT0C, reco_tree::TimeFV0A, reco_tree::TimeFDDA, reco_tree::TimeFDDC,
9497 reco_tree::EnergyCommonZNA, reco_tree::EnergyCommonZNC, reco_tree::TimeZNA, reco_tree::TimeZNC, reco_tree::NeutronClass,
@@ -105,7 +108,10 @@ namespace mc_tree
105108{
106109// misc event info
107110DECLARE_SOA_COLUMN (RunNumber, runNumber, int );
111+ DECLARE_SOA_COLUMN (PosX, posX, float );
112+ DECLARE_SOA_COLUMN (PosY, posY, float );
108113DECLARE_SOA_COLUMN (PosZ, posZ, float );
114+ DECLARE_SOA_COLUMN (LocalBC, localBC, int );
109115// tracks
110116DECLARE_SOA_COLUMN (LeadingTrackSign, leadingTrackSign, int );
111117DECLARE_SOA_COLUMN (SubleadingTrackSign, subleadingTrackSign, int );
@@ -117,7 +123,7 @@ DECLARE_SOA_COLUMN(LeadingTrackPhi, leadingTrackPhi, float);
117123DECLARE_SOA_COLUMN (SubleadingTrackPhi, subleadingTrackPhi, float );
118124} // namespace mc_tree
119125DECLARE_SOA_TABLE (McTree, " AOD" , " MCTREE" ,
120- mc_tree::RunNumber, mc_tree::PosZ,
126+ mc_tree::RunNumber, mc_tree::PosX, mc_tree::PosY, mc_tree:: PosZ, mc_tree::LocalBC ,
121127 mc_tree::LeadingTrackSign, mc_tree::SubleadingTrackSign,
122128 mc_tree::LeadingTrackPt, mc_tree::SubleadingTrackPt,
123129 mc_tree::LeadingTrackEta, mc_tree::SubleadingTrackEta,
@@ -131,6 +137,7 @@ struct UpcRhoAnalysis {
131137 SGSelector sgSelector;
132138
133139 const float pcEtaCut = 0.9 ; // physics coordination recommendation
140+ const int nPions = 2 ; // only study dipion final states
134141 const std::vector<int > runNumbers = {544013 , 544028 , 544032 , 544091 , 544095 , 544098 , 544116 , 544121 , 544122 , 544123 , 544124 , 544184 , 544185 , 544389 , 544390 , 544391 , 544392 , 544451 , 544454 , 544474 , 544475 , 544476 , 544477 , 544490 , 544491 , 544492 , 544508 , 544510 , 544511 , 544512 , 544514 , 544515 , 544518 , 544548 , 544549 , 544550 , 544551 , 544564 , 544565 , 544567 , 544568 , 544580 , 544582 , 544583 , 544585 , 544614 , 544640 , 544652 , 544653 , 544672 , 544674 , 544692 , 544693 , 544694 , 544696 , 544739 , 544742 , 544754 , 544767 , 544794 , 544795 , 544797 , 544813 , 544868 , 544886 , 544887 , 544896 , 544911 , 544913 , 544914 , 544917 , 544931 , 544947 , 544961 , 544963 , 544964 , 544968 , 544991 , 544992 , 545004 , 545008 , 545009 , 545041 , 545042 , 545044 , 545047 , 545060 , 545062 , 545063 , 545064 , 545066 , 545086 , 545103 , 545117 , 545171 , 545184 , 545185 , 545210 , 545222 , 545223 , 545246 , 545249 , 545262 , 545289 , 545291 , 545294 , 545295 , 545296 , 545311 , 545312 , 545332 , 545345 , 545367 };
135142 AxisSpec runNumberAxis = {static_cast <int >(runNumbers.size ()), 0.5 , static_cast <double >(runNumbers.size ()) + 0.5 , " run number" };
136143
@@ -459,9 +466,9 @@ struct UpcRhoAnalysis {
459466 {
460467 std::vector<std::pair<int8_t , std::array<uint8_t , 3 >>> requiredITSHits{};
461468 requiredITSHits.push_back (std::make_pair (1 , std::array<uint8_t , 3 >{0 , 1 , 2 })); // at least one hit in the innermost layer
462- constexpr uint8_t kBit = 1 ;
469+ constexpr uint8_t KnBit = 1 ;
463470 for (const auto & itsRequirement : requiredITSHits) {
464- auto hits = std::count_if (itsRequirement.second .begin (), itsRequirement.second .end (), [&](auto && requiredLayer) { return itsClusterMap & (kBit << requiredLayer); });
471+ auto hits = std::count_if (itsRequirement.second .begin (), itsRequirement.second .end (), [&](auto && requiredLayer) { return itsClusterMap & (KnBit << requiredLayer); });
465472
466473 if ((itsRequirement.first == -1 ) && (hits > 0 )) {
467474 return false ; // no hits were required in specified layers
@@ -788,9 +795,9 @@ struct UpcRhoAnalysis {
788795 }
789796 rQC.fill (HIST (" QC/tracks/trackSelections/hRemainingTracks" ), cutTracks.size ());
790797
791- if (static_cast <int >(cutTracks.size ()) != 2 ) // further consider only two pion systems
798+ if (static_cast <int >(cutTracks.size ()) != nPions ) // further consider only two pion systems
792799 return ;
793- for (int i = 0 ; i < 2 ; i++) {
800+ for (int i = 0 ; i < nPions ; i++) {
794801 rQC.fill (HIST (" QC/tracks/hSelectionCounter" ), 15 );
795802 rQC.fill (HIST (" QC/tracks/hSelectionCounterPerRun" ), 15 , runIndex);
796803 }
@@ -819,7 +826,7 @@ struct UpcRhoAnalysis {
819826 float phiCharge = getPhiCharge (cutTracks, cutTracksLVs);
820827
821828 // fill recoTree
822- recoTree (collision.flags (), collision.runNumber (), collision.posZ (), collision.occupancyInTime (), collision.hadronicRate (),
829+ recoTree (collision.flags (), collision.runNumber (), collision.posX (), collision. posY (), collision. posZ (), collision.occupancyInTime (), collision.hadronicRate (), collision. globalBC () % o2::constants::lhc::LHCMaxBunches ,
823830 collision.totalFT0AmplitudeA (), collision.totalFT0AmplitudeC (), collision.totalFV0AmplitudeA (), collision.totalFDDAmplitudeA (), collision.totalFDDAmplitudeC (),
824831 collision.timeFT0A (), collision.timeFT0C (), collision.timeFV0A (), collision.timeFDDA (), collision.timeFDDC (),
825832 energyCommonZNA, energyCommonZNC, timeZNA, timeZNC, neutronClass,
@@ -1020,7 +1027,7 @@ struct UpcRhoAnalysis {
10201027 }
10211028
10221029 // fill mcTree
1023- mcTree (runNumber, mcCollision.posZ (),
1030+ mcTree (runNumber, mcCollision.posX (), mcCollision. posY (), mcCollision. posZ (), mcCollision. globalBC () % o2::constants::lhc::LHCMaxBunches ,
10241031 leadingPion.pdgCode () / std::abs (leadingPion.pdgCode ()), subleadingPion.pdgCode () / std::abs (subleadingPion.pdgCode ()),
10251032 pt (leadingPion.px (), leadingPion.py ()), pt (subleadingPion.px (), subleadingPion.py ()),
10261033 eta (leadingPion.px (), leadingPion.py (), leadingPion.pz ()), eta (subleadingPion.px (), subleadingPion.py (), subleadingPion.pz ()),
0 commit comments