@@ -88,15 +88,15 @@ struct EventMeanPtId {
8888
8989 HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
9090 TH1D* ptHistogramAllchargeRec = nullptr ;
91- TH1D* ptHistogramPionrec = nullptr ;
92- TH1D* ptHistogramKaonrec = nullptr ;
93- TH1D* ptHistogramProtonrec = nullptr ;
94- TH1D* hRecoPi = nullptr ;
95- TH1D* hRecoKa = nullptr ;
96- TH1D* hRecoPr = nullptr ;
97- TH2D* hPtyPion = nullptr ;
98- TH2D* hPtyKaon = nullptr ;
99- TH2D* hPtyProton = nullptr ;
91+ TH1D* ptHistogramPionrec = nullptr ;
92+ TH1D* ptHistogramKaonrec = nullptr ;
93+ TH1D* ptHistogramProtonrec = nullptr ;
94+ TH1D* hRecoPi = nullptr ;
95+ TH1D* hRecoKa = nullptr ;
96+ TH1D* hRecoPr = nullptr ;
97+ TH2D* hPtyPion = nullptr ;
98+ TH2D* hPtyKaon = nullptr ;
99+ TH2D* hPtyProton = nullptr ;
100100
101101 Configurable<float > ptMax{" ptMax" , 2.0 , " maximum pT" };
102102 Configurable<float > ptMin{" ptMin" , 0.15 , " minimum pT" };
@@ -105,30 +105,30 @@ struct EventMeanPtId {
105105
106106 void init (o2::framework::InitContext&)
107107 {
108- if (cfgLoadEff) {
108+ if (cfgLoadEff) {
109109 // Set CCDB url
110110 ccdb->setURL (cfgUrlCCDB.value );
111111 ccdb->setCaching (true );
112112 ccdb->setLocalObjectValidityChecking ();
113- // ccdb->setCreatedNotAfter(ccdbNoLaterThan.value);
114- // LOGF(info, "Getting object %s", ccdbPath.value.data());
115-
113+ // ccdb->setCreatedNotAfter(ccdbNoLaterThan.value);
114+ // LOGF(info, "Getting object %s", ccdbPath.value.data());
115+
116116 TList* lst = ccdb->getForTimeStamp <TList>(cfgPathCCDB.value , -1 );
117117 ptHistogramAllchargeRec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramAllchargeRec" ));
118- ptHistogramPionrec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramPionrec" ));
119- ptHistogramKaonrec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramKaonrec" ));
120- ptHistogramProtonrec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramProtonrec" ));
121- hRecoPi = reinterpret_cast <TH1D*>(lst->FindObject (" hRecoPi" ));
122- hRecoKa = reinterpret_cast <TH1D*>(lst->FindObject (" hRecoKa" ));
123- hRecoPr = reinterpret_cast <TH1D*>(lst->FindObject (" hRecoPr" ));
124- hPtyPion = reinterpret_cast <TH2D*>(lst->FindObject (" hPtyPion" ));
125- hPtyKaon = reinterpret_cast <TH2D*>(lst->FindObject (" hPtyKaon" ));
126- hPtyProton = reinterpret_cast <TH2D*>(lst->FindObject (" hPtyProton" ));
127-
128- if (!ptHistogramAllchargeRec || !ptHistogramPionrec || !ptHistogramKaonrec || !ptHistogramProtonrec || !hRecoPi || !hRecoKa || !hRecoPr || !hPtyPion || !hPtyKaon || !hPtyProton) {
118+ ptHistogramPionrec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramPionrec" ));
119+ ptHistogramKaonrec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramKaonrec" ));
120+ ptHistogramProtonrec = reinterpret_cast <TH1D*>(lst->FindObject (" ptHistogramProtonrec" ));
121+ hRecoPi = reinterpret_cast <TH1D*>(lst->FindObject (" hRecoPi" ));
122+ hRecoKa = reinterpret_cast <TH1D*>(lst->FindObject (" hRecoKa" ));
123+ hRecoPr = reinterpret_cast <TH1D*>(lst->FindObject (" hRecoPr" ));
124+ hPtyPion = reinterpret_cast <TH2D*>(lst->FindObject (" hPtyPion" ));
125+ hPtyKaon = reinterpret_cast <TH2D*>(lst->FindObject (" hPtyKaon" ));
126+ hPtyProton = reinterpret_cast <TH2D*>(lst->FindObject (" hPtyProton" ));
127+
128+ if (!ptHistogramAllchargeRec || !ptHistogramPionrec || !ptHistogramKaonrec || !ptHistogramProtonrec || !hRecoPi || !hRecoKa || !hRecoPr || !hPtyPion || !hPtyKaon || !hPtyProton) {
129129 LOGF (info, " FATAL!! Could not find required histograms in CCDB" );
130130 }
131- }
131+ }
132132
133133 std::vector<double > ptBinning = {0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 , 1.1 , 1.2 , 1.3 , 1.4 , 1.5 , 1.6 , 1.7 , 1.8 , 1.9 , 2.0 , 2.1 , 2.2 , 2.3 , 2.4 , 2.5 , 2.6 , 2.7 , 2.8 , 2.9 , 3.0 , 3.1 , 3.2 , 3.3 , 3.4 , 3.5 , 3.6 , 3.7 , 3.8 , 3.9 , 4.0 };
134134 // AxisSpec ptAxis = {ptBinning, "#it{p}_{T} (GeV/#it{c})"};
@@ -640,11 +640,12 @@ struct EventMeanPtId {
640640 return false ;
641641 }
642642
643- double getEfficiency (double pt, TH1D* ptHistogramAllchargeRec){
644- int bin = ptHistogramAllchargeRec->FindBin (pt);
645- double eff = ptHistogramAllchargeRec->GetBinContent (bin);
646- return (eff > 0 ) ? eff : 1e-6 ; // Avoid division by zero
647- }
643+ double getEfficiency (double pt, TH1D* ptHistogramAllchargeRec)
644+ {
645+ int bin = ptHistogramAllchargeRec->FindBin (pt);
646+ double eff = ptHistogramAllchargeRec->GetBinContent (bin);
647+ return (eff > 0 ) ? eff : 1e-6 ; // Avoid division by zero
648+ }
648649
649650 // ++++++++++++++++++++++++++++++++++++DATA CALCULATION +++++++++++++++++++++++++++++++++++++++++++++++++++++//
650651
@@ -669,7 +670,7 @@ struct EventMeanPtId {
669670 double var1Pi = 0 ., var2Pi = 0 .;
670671 double var1Ka = 0 ., var2Ka = 0 .;
671672 double var1Pr = 0 ., var2Pr = 0 .;
672-
673+
673674 int sample = histos.get <TH1>(HIST (" Data/hZvtx_after_sel8" ))->GetEntries ();
674675 sample = sample % 30 ; // subsample error estimation
675676 for (const auto & track : inputTracks) {
@@ -816,8 +817,8 @@ struct EventMeanPtId {
816817 if (nchAll < cTwoPtlCut2)
817818 return ;
818819 var1 = (q1 * q1 - q2) / (nchAll * (nchAll - 1 ));
819- var2 = (q1 / nchAll);
820-
820+ var2 = (q1 / nchAll);
821+
821822 // ------------------ all charges-------------------------------------
822823 histos.fill (HIST (" Data/hVar1" ), sample, cent, var1);
823824 histos.fill (HIST (" Data/hVar2" ), sample, cent, var2);
@@ -829,20 +830,20 @@ struct EventMeanPtId {
829830 // ---------------------- pions ----------------------------------------
830831 if (nchPi >= cTwoPtlCut2) {
831832 var1Pi = (q1Pi * q1Pi - q2Pi) / (nchPi * (nchPi - 1 ));
832- var2Pi = (q1Pi / nchPi);
833+ var2Pi = (q1Pi / nchPi);
833834 }
834835
835836 // ----------------------- kaons ---------------------------------------
836837 if (nchKa >= cTwoPtlCut2) {
837838 var1Ka = (q1Ka * q1Ka - q2Ka) / (nchKa * (nchKa - 1 ));
838839 var2Ka = (q1Ka / nchKa);
839- }
840+ }
840841
841842 // ---------------------------- protons ----------------------------------
842843 if (nchPr >= cTwoPtlCut2) {
843844 var1Pr = (q1Pr * q1Pr - q2Pr) / (nchPr * (nchPr - 1 ));
844845 var2Pr = (q1Pr / nchPr);
845- }
846+ }
846847
847848 // ========================centrality==========================================
848849 histos.fill (HIST (" Data/hVar1pi" ), sample, cent, var1Pi);
@@ -932,7 +933,6 @@ struct EventMeanPtId {
932933 double sumPtWeightKa = 0 ., sumWeightKa = 0 ., sumPtPtWeightKa = 0 ., var1EffKa = 0 ., var2EffKa = 0 .;
933934 double sumPtWeightPr = 0 ., sumWeightPr = 0 ., sumPtPtWeightPr = 0 ., var1EffPr = 0 ., var2EffPr = 0 .;
934935
935-
936936 int sample = histos.get <TH1>(HIST (" Rec/hZvtx_after_sel8" ))->GetEntries ();
937937 sample = sample % 30 ;
938938
@@ -992,10 +992,10 @@ struct EventMeanPtId {
992992 q2 += (track.pt () * track.pt ());
993993
994994 double eff = getEfficiency (track.pt (), ptHistogramAllchargeRec);
995- // LOGF(info, " with value %.2f", eff);
996- sumPtWeight += track.pt ()/eff ;
997- sumPtPtWeight += (track.pt ()* track.pt ())/ (eff * eff) ;
998- sumWeight += 1 . / eff ;
995+ // LOGF(info, " with value %.2f", eff);
996+ sumPtWeight += track.pt () / eff ;
997+ sumPtPtWeight += (track.pt () * track.pt ()) / (eff * eff);
998+ sumWeight += 1 . / eff;
999999
10001000 if (std::abs (mcParticle.pdgCode ()) == PDG_t::kPiPlus )
10011001 histos.fill (HIST (" ptHistogramPionrec_pdg" ), track.pt ());
@@ -1063,11 +1063,11 @@ struct EventMeanPtId {
10631063 q1Pi += track.pt ();
10641064 q2Pi += (track.pt () * track.pt ());
10651065
1066- double effPi = getEfficiency (track.pt (), ptHistogramPionrec);
1067- // LOGF(info, " with value %.2f", eff);
1068- sumPtWeightPi += track.pt ()/effPi ;
1069- sumPtPtWeightPi += (track.pt ()* track.pt ())/ (effPi * effPi) ;
1070- sumWeightPi += 1 . / effPi ;
1066+ double effPi = getEfficiency (track.pt (), ptHistogramPionrec);
1067+ // LOGF(info, " with value %.2f", eff);
1068+ sumPtWeightPi += track.pt () / effPi ;
1069+ sumPtPtWeightPi += (track.pt () * track.pt ()) / (effPi * effPi);
1070+ sumWeightPi += 1 . / effPi;
10711071
10721072 histos.fill (HIST (" hPyPion_rec" ), track.p (), track.rapidity (massPi));
10731073 histos.fill (HIST (" hPtyPion_rec" ), track.pt (), track.rapidity (massPi));
@@ -1103,11 +1103,11 @@ struct EventMeanPtId {
11031103 q1Ka += track.pt ();
11041104 q2Ka += (track.pt () * track.pt ());
11051105
1106- double effKa = getEfficiency (track.pt (), ptHistogramKaonrec);
1107- // LOGF(info, " with value %.2f", eff);
1108- sumPtWeightKa += track.pt ()/effKa ;
1109- sumPtPtWeightKa += (track.pt ()* track.pt ())/ (effKa * effKa) ;
1110- sumWeightKa += 1 . / effKa ;
1106+ double effKa = getEfficiency (track.pt (), ptHistogramKaonrec);
1107+ // LOGF(info, " with value %.2f", eff);
1108+ sumPtWeightKa += track.pt () / effKa ;
1109+ sumPtPtWeightKa += (track.pt () * track.pt ()) / (effKa * effKa);
1110+ sumWeightKa += 1 . / effKa;
11111111
11121112 histos.fill (HIST (" hPyKaon_rec" ), track.p (), track.rapidity (massKa));
11131113 histos.fill (HIST (" hPtyKaon_rec" ), track.pt (), track.rapidity (massKa));
@@ -1143,11 +1143,11 @@ struct EventMeanPtId {
11431143 q1Pr += track.pt ();
11441144 q2Pr += (track.pt () * track.pt ());
11451145
1146- double effPr = getEfficiency (track.pt (), ptHistogramProtonrec);
1147- // LOGF(info, " with value %.2f", eff);
1148- sumPtWeightPr += track.pt ()/effPr ;
1149- sumPtPtWeightPr += (track.pt ()* track.pt ())/ (effPr * effPr) ;
1150- sumWeightPr += 1 . / effPr ;
1146+ double effPr = getEfficiency (track.pt (), ptHistogramProtonrec);
1147+ // LOGF(info, " with value %.2f", eff);
1148+ sumPtWeightPr += track.pt () / effPr ;
1149+ sumPtPtWeightPr += (track.pt () * track.pt ()) / (effPr * effPr);
1150+ sumWeightPr += 1 . / effPr;
11511151
11521152 histos.fill (HIST (" hPyProton_rec" ), track.p (), track.rapidity (massPr));
11531153 histos.fill (HIST (" hPtyProton_rec" ), track.pt (), track.rapidity (massPr));
@@ -1163,8 +1163,8 @@ struct EventMeanPtId {
11631163
11641164 // ------------------ Efficiency corrected histograms ---------------
11651165
1166- var1Eff = (sumPtWeight * sumPtWeight - sumPtPtWeight) / (sumWeight * (sumWeight - 1 ));
1167- var2Eff = (sumPtWeight / sumWeight);
1166+ var1Eff = (sumPtWeight * sumPtWeight - sumPtPtWeight) / (sumWeight * (sumWeight - 1 ));
1167+ var2Eff = (sumPtWeight / sumWeight);
11681168
11691169 histos.fill (HIST (" Rec/hVar1" ), sample, cent, var1);
11701170 histos.fill (HIST (" Rec/hVar2" ), sample, cent, var2);
@@ -1231,7 +1231,7 @@ struct EventMeanPtId {
12311231 histos.fill (HIST (" hEffVar2x" ), sample, nchAll, var2Eff);
12321232 histos.fill (HIST (" hEffVarx" ), sample, nchAll);
12331233 histos.fill (HIST (" hEffVar2Meanptx" ), nchAll, var2Eff);
1234-
1234+
12351235 histos.fill (HIST (" hEffVar1pix" ), sample, nchAll, var1EffPi);
12361236 histos.fill (HIST (" hEffVar2pix" ), sample, nchAll, var2EffPi);
12371237 histos.fill (HIST (" hEffVarpix" ), sample, nchAll);
@@ -1247,7 +1247,6 @@ struct EventMeanPtId {
12471247 histos.fill (HIST (" hEffVarpx" ), sample, nchAll);
12481248 histos.fill (HIST (" hEffVar2Meanptpx" ), nchAll, var2EffPr);
12491249
1250-
12511250 // ================= generated level==============================
12521251
12531252 const auto & mccolgen = coll.mcCollision_as <aod::McCollisions>();
0 commit comments