@@ -1061,17 +1061,17 @@ struct TpcElIdMassSpectrum {
10611061 auto isGoodElectronForSignal = [&](const MyTracks::iterator& track) -> bool {
10621062 if (!track.has_collision () || !track.hasTPC ())
10631063 return false ;
1064- if (!(( track.pt () > PtMin) && ( track.pt () < PtMax)) )
1064+ if (track.pt () <= PtMin || track.pt () >= PtMax)
10651065 return false ;
1066- if (!( std::fabs (track.eta ()) < EtaMax) )
1066+ if (std::fabs (track.eta ()) >= EtaMax)
10671067 return false ;
1068- if (!( std::fabs (track.dcaXY ()) < DCAxyMax) )
1068+ if (std::fabs (track.dcaXY ()) >= DCAxyMax)
10691069 return false ;
1070- if (!( std::fabs (track.dcaZ ()) < DCAzMax) )
1070+ if (std::fabs (track.dcaZ ()) >= DCAzMax)
10711071 return false ;
1072- if (!( track.itsChi2NCl () < ITSchi2Max) )
1072+ if (track.itsChi2NCl () >= ITSchi2Max)
10731073 return false ;
1074- if (!( track.tpcChi2NCl () < TPCchi2Max) )
1074+ if (track.tpcChi2NCl () >= TPCchi2Max)
10751075 return false ;
10761076 if (!((track.itsClusterMap () & uint8_t (1 )) > 0 ))
10771077 return false ;
@@ -1081,15 +1081,16 @@ struct TpcElIdMassSpectrum {
10811081 return false ;
10821082 if (track.tpcNClsCrossedRows () < TPCnclsCRMin || track.tpcNClsCrossedRows () > TPCnclsCRMax)
10831083 return false ;
1084+
10841085 bool isTPCElectron = (track.tpcNSigmaEl () > TPCNSigmaElMin) && (track.tpcNSigmaEl () < TPCNSigmaElMax);
10851086 bool isTOFElectron = (track.tofNSigmaEl () > TOFNSigmaElMin) && (track.tofNSigmaEl () < TOFNSigmaElMax);
1086- if (!(isTPCElectron || isTOFElectron))
1087- return false ;
1088- if (!((track.tpcNSigmaPi () < TPCNSigmaPiMin) || (track.tpcNSigmaPi () > TPCNSigmaPiMax)))
1087+ if (!isTPCElectron && !isTOFElectron)
10891088 return false ;
1090- if (!((track.tpcNSigmaKa () < TPCNSigmaKaMin) || (track.tpcNSigmaKa () > TPCNSigmaKaMax)))
1091- return false ;
1092- if (!((track.tpcNSigmaPr () < TPCNSigmaPrMin) || (track.tpcNSigmaPr () > TPCNSigmaPrMax)))
1089+
1090+ bool isPion = (track.tpcNSigmaPi () >= TPCNSigmaPiMin && track.tpcNSigmaPi () <= TPCNSigmaPiMax);
1091+ bool isKaon = (track.tpcNSigmaKa () >= TPCNSigmaKaMin && track.tpcNSigmaKa () <= TPCNSigmaKaMax);
1092+ bool isProton = (track.tpcNSigmaPr () >= TPCNSigmaPrMin && track.tpcNSigmaPr () <= TPCNSigmaPrMax);
1093+ if (isPion || isKaon || isProton)
10931094 return false ;
10941095 return true ;
10951096 };
@@ -1107,18 +1108,22 @@ struct TpcElIdMassSpectrum {
11071108 return false ;
11081109 if (track.tpcNClsCrossedRows () < TPCnclsCRMin || track.tpcNClsCrossedRows () > TPCnclsCRMax)
11091110 return false ;
1110- if (!(std::fabs (track.eta ()) < EtaMax))
1111+ if (std::fabs (track.eta ()) >= EtaMax)
1112+ return false ;
1113+ if (std::fabs (track.dcaXY ()) >= DCAxyMax)
1114+ return false ;
1115+ if (std::fabs (track.dcaZ ()) >= DCAzMax)
11111116 return false ;
11121117
11131118 bool isTPCElectron = (track.tpcNSigmaEl () > TPCNSigmaElMin) && (track.tpcNSigmaEl () < TPCNSigmaElMax);
11141119 bool isTOFElectron = (track.tofNSigmaEl () > TOFNSigmaElMin) && (track.tofNSigmaEl () < TOFNSigmaElMax);
1115- if (!( isTPCElectron || isTOFElectron) )
1120+ if (!isTPCElectron && ! isTOFElectron)
11161121 return false ;
11171122
1118- bool isPion = (track.tpcNSigmaPi () > TPCNSigmaPiMin) && ( track.tpcNSigmaPi () < TPCNSigmaPiMax);
1119- bool isKaon = (track.tpcNSigmaKa () > TPCNSigmaKaMin) && ( track.tpcNSigmaKa () < TPCNSigmaKaMax);
1120- bool isProton = (track.tpcNSigmaPr () > TPCNSigmaPrMin) && ( track.tpcNSigmaPr () < TPCNSigmaPrMax);
1121- if (isPion || isKaon || isProton )
1123+ bool isPionSignal = (track.tpcNSigmaPi () >= TPCNSigmaPiMin && track.tpcNSigmaPi () <= TPCNSigmaPiMax);
1124+ bool isKaonSignal = (track.tpcNSigmaKa () >= TPCNSigmaKaMin && track.tpcNSigmaKa () <= TPCNSigmaKaMax);
1125+ bool isProtonSignal = (track.tpcNSigmaPr () >= TPCNSigmaPrMin && track.tpcNSigmaPr () <= TPCNSigmaPrMax);
1126+ if (isPionSignal || isKaonSignal || isProtonSignal )
11221127 return false ;
11231128 return true ;
11241129 };
@@ -1138,7 +1143,7 @@ struct TpcElIdMassSpectrum {
11381143 return false ;
11391144 if (std::fabs (track.dcaXY ()) > DCAxyMax || std::fabs (track.dcaZ ()) > DCAzMax)
11401145 return false ;
1141- if (!( std::fabs (track.eta ()) < EtaMax) )
1146+ if (std::fabs (track.eta ()) >= EtaMax)
11421147 return false ;
11431148 return true ;
11441149 };
@@ -1148,13 +1153,13 @@ struct TpcElIdMassSpectrum {
11481153 return false ;
11491154 bool isTPCElectron = (track.tpcNSigmaEl () > TPCNSigmaElMin) && (track.tpcNSigmaEl () < TPCNSigmaElMax);
11501155 bool isTOFElectron = (track.tofNSigmaEl () > TOFNSigmaElMin) && (track.tofNSigmaEl () < TOFNSigmaElMax);
1151- if (!( isTPCElectron || isTOFElectron) )
1156+ if (!isTPCElectron && ! isTOFElectron)
11521157 return false ;
11531158
1154- bool isPion = (track.tpcNSigmaPi () > TPCNSigmaPiMin) && ( track.tpcNSigmaPi () < TPCNSigmaPiMax);
1155- bool isKaon = (track.tpcNSigmaKa () > TPCNSigmaKaMin) && ( track.tpcNSigmaKa () < TPCNSigmaKaMax);
1156- bool isProton = (track.tpcNSigmaPr () > TPCNSigmaPrMin) && ( track.tpcNSigmaPr () < TPCNSigmaPrMax);
1157- if (isPion || isKaon || isProton )
1159+ bool isPionSignal = (track.tpcNSigmaPi () >= TPCNSigmaPiMin && track.tpcNSigmaPi () <= TPCNSigmaPiMax);
1160+ bool isKaonSignal = (track.tpcNSigmaKa () >= TPCNSigmaKaMin && track.tpcNSigmaKa () <= TPCNSigmaKaMax);
1161+ bool isProtonSignal = (track.tpcNSigmaPr () >= TPCNSigmaPrMin && track.tpcNSigmaPr () <= TPCNSigmaPrMax);
1162+ if (isPionSignal || isKaonSignal || isProtonSignal )
11581163 return false ;
11591164 return true ;
11601165 };
@@ -1182,7 +1187,7 @@ struct TpcElIdMassSpectrum {
11821187
11831188 if (track1_iterator.sign () == track2_iterator.sign ()) {
11841189 bool track1IsPositive = track1_iterator.sign () * bz > 0 ;
1185- if (track1IsPositive) { // Both positive
1190+ if (track1IsPositive) {
11861191 mHistManager .fill (HIST (" TPCee/h_MS_pp_v_pt_v_cent" ), pairMass, pairPt, cent);
11871192 if (collision.alias_bit (mEvSelTrig ))
11881193 mHistManager .fill (HIST (" TPCee/h_MS_pp_kTVXinPHOS_v_pt_v_cent" ), pairMass, pairPt, cent);
@@ -1191,7 +1196,7 @@ struct TpcElIdMassSpectrum {
11911196 if (collision.alias_bit (mEvSelTrig ))
11921197 mHistManager .fill (HIST (" TPCee/h_MS_pp_phosRange_kTVXinPHOS_v_pt_v_cent" ), pairMass, pairPt, cent);
11931198 }
1194- } else { // Both negative
1199+ } else {
11951200 mHistManager .fill (HIST (" TPCee/h_MS_mm_v_pt_v_cent" ), pairMass, pairPt, cent);
11961201 if (collision.alias_bit (mEvSelTrig ))
11971202 mHistManager .fill (HIST (" TPCee/h_MS_mm_kTVXinPHOS_v_pt_v_cent" ), pairMass, pairPt, cent);
@@ -1201,7 +1206,7 @@ struct TpcElIdMassSpectrum {
12011206 mHistManager .fill (HIST (" TPCee/h_MS_mm_phosRange_kTVXinPHOS_v_pt_v_cent" ), pairMass, pairPt, cent);
12021207 }
12031208 }
1204- } else { // Opposite sign (for dielectron and Chic)
1209+ } else {
12051210 mHistManager .fill (HIST (" TPCee/h_MS_mp_v_pt_v_cent" ), pairMass, pairPt, cent);
12061211 if (collision.alias_bit (mEvSelTrig ))
12071212 mHistManager .fill (HIST (" TPCee/h_MS_mp_kTVXinPHOS_v_pt_v_cent" ), pairMass, pairPt, cent);
@@ -1217,7 +1222,7 @@ struct TpcElIdMassSpectrum {
12171222 if (cluE < mMinCluE || cluE > mMaxCluE || gamma.ncell () < mMinCluNcell || gamma.time () > mMaxCluTime || gamma.time () < mMinCluTime )
12181223 continue ;
12191224 bool matchFlag = false ;
1220- bool isJpsi = (pairMass > eeMassMin && pairMass < eeMassMax); // pairMass is from the e+e- pair
1225+ bool isJpsi = (pairMass > eeMassMin && pairMass < eeMassMax);
12211226 bool isDispOK = testLambda (cluE, gamma.m02 (), gamma.m20 ());
12221227 for (auto const & match : matches) {
12231228 if (gamma.index () == match.caloClusterId ()) {
@@ -1230,10 +1235,12 @@ struct TpcElIdMassSpectrum {
12301235 double tripletMass = (fourVectorP1 + fourVectorP2 + fourVectorP3).M ();
12311236 double tripletPt = (fourVectorP1 + fourVectorP2 + fourVectorP3).Pt ();
12321237 double tripletMinusPairPlusJpsiMass = tripletMass - pairMass + JpsiMass;
1238+
12331239 mHistManager .fill (HIST (" TPCeePhosGamma/h_MS_v_3pt_v_cent" ), tripletMass, tripletPt, cent);
12341240 mHistManager .fill (HIST (" TPCeePhosGamma/h_minusee_MS_v_3pt_v_cent" ), tripletMinusPairPlusJpsiMass, tripletPt, cent);
12351241 mHistManager .fill (HIST (" TPCeePhosGamma/h_MS_v_cluE_v_cent" ), tripletMass, cluE, cent);
12361242 mHistManager .fill (HIST (" TPCeePhosGamma/h_minusee_MS_v_cluE_v_cent" ), tripletMinusPairPlusJpsiMass, cluE, cent);
1243+
12371244 if (!matchFlag) {
12381245 mHistManager .fill (HIST (" TPCeePhosGamma/h_MS_noMatches_v_3pt_v_cent" ), tripletMass, tripletPt, cent);
12391246 mHistManager .fill (HIST (" TPCeePhosGamma/h_minusee_MS_noMatches_v_3pt_v_cent" ), tripletMinusPairPlusJpsiMass, tripletPt, cent);
@@ -1261,7 +1268,7 @@ struct TpcElIdMassSpectrum {
12611268 }
12621269 }
12631270 }
1264- } // End of dielectron and Chic analysis
1271+ }
12651272
12661273 if (isGoodTagElectron (track1_iterator) && isGoodProbeBaseTrack (track2_iterator)) {
12671274 ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzE4D<double >> pTag1, pProbe2;
@@ -1271,27 +1278,27 @@ struct TpcElIdMassSpectrum {
12711278 float ptProbe2 = track2_iterator.pt ();
12721279 bool tag1IsPositive = track1_iterator.sign () * bz > 0 ;
12731280
1274- if (track1_iterator.sign () == track2_iterator.sign ()) { // Same Sign
1275- if (tag1IsPositive) { // Tag is positive (e+h+)
1281+ if (track1_iterator.sign () == track2_iterator.sign ()) {
1282+ if (tag1IsPositive) {
12761283 mHistManager .fill (HIST (" TPCeff/h_eh_pp_mass_spectra_v_pt_v_cent" ), massTag1Probe2, ptProbe2, cent);
1277- } else { // Tag is negative (e-h-)
1284+ } else {
12781285 mHistManager .fill (HIST (" TPCeff/h_eh_mm_mass_spectra_v_pt_v_cent" ), massTag1Probe2, ptProbe2, cent);
12791286 }
1280- } else { // Opposite Sign (e+/-h-/+)
1287+ } else {
12811288 mHistManager .fill (HIST (" TPCeff/h_eh_mp_mass_spectra_v_pt_v_cent" ), massTag1Probe2, ptProbe2, cent);
12821289 }
12831290 if (isProbeIdentifiedAsElectron (track2_iterator)) {
12841291 if (track1_iterator.sign () == track2_iterator.sign ()) {
1285- if (tag1IsPositive) { // e+e+
1292+ if (tag1IsPositive) {
12861293 mHistManager .fill (HIST (" TPCeff/h_ee_pp_mass_spectra_v_pt_v_cent" ), massTag1Probe2, ptProbe2, cent);
1287- } else { // e-e-
1294+ } else {
12881295 mHistManager .fill (HIST (" TPCeff/h_ee_mm_mass_spectra_v_pt_v_cent" ), massTag1Probe2, ptProbe2, cent);
12891296 }
1290- } else { // e+/-e-/+
1297+ } else {
12911298 mHistManager .fill (HIST (" TPCeff/h_ee_mp_mass_spectra_v_pt_v_cent" ), massTag1Probe2, ptProbe2, cent);
12921299 }
12931300 }
1294- } // End of Scenario 1 (track1=tag, track2=probe)
1301+ }
12951302
12961303 if (isGoodTagElectron (track2_iterator) && isGoodProbeBaseTrack (track1_iterator)) {
12971304 ROOT ::Math::LorentzVector<ROOT ::Math::PxPyPzE4D<double >> pTag2, pProbe1;
@@ -1301,30 +1308,29 @@ struct TpcElIdMassSpectrum {
13011308 float ptProbe1 = track1_iterator.pt ();
13021309 bool tag2IsPositive = track2_iterator.sign () * bz > 0 ;
13031310
1304- if (track2_iterator.sign () == track1_iterator.sign ()) { // Same Sign
1305- if (tag2IsPositive) { // Tag is positive (e+h+)
1311+ if (track2_iterator.sign () == track1_iterator.sign ()) {
1312+ if (tag2IsPositive) {
13061313 mHistManager .fill (HIST (" TPCeff/h_eh_pp_mass_spectra_v_pt_v_cent" ), massTag2Probe1, ptProbe1, cent);
1307- } else { // Tag is negative (e-h-)
1314+ } else {
13081315 mHistManager .fill (HIST (" TPCeff/h_eh_mm_mass_spectra_v_pt_v_cent" ), massTag2Probe1, ptProbe1, cent);
13091316 }
1310- } else { // Opposite Sign (e+/-h-/+)
1317+ } else {
13111318 mHistManager .fill (HIST (" TPCeff/h_eh_mp_mass_spectra_v_pt_v_cent" ), massTag2Probe1, ptProbe1, cent);
13121319 }
13131320 if (isProbeIdentifiedAsElectron (track1_iterator)) {
13141321 if (track2_iterator.sign () == track1_iterator.sign ()) {
1315- if (tag2IsPositive) { // e+e+
1322+ if (tag2IsPositive) {
13161323 mHistManager .fill (HIST (" TPCeff/h_ee_pp_mass_spectra_v_pt_v_cent" ), massTag2Probe1, ptProbe1, cent);
1317- } else { // e-e-
1324+ } else {
13181325 mHistManager .fill (HIST (" TPCeff/h_ee_mm_mass_spectra_v_pt_v_cent" ), massTag2Probe1, ptProbe1, cent);
13191326 }
1320- } else { // e+/-e-/+
1327+ } else {
13211328 mHistManager .fill (HIST (" TPCeff/h_ee_mp_mass_spectra_v_pt_v_cent" ), massTag2Probe1, ptProbe1, cent);
13221329 }
13231330 }
1324- } // End of Scenario 2 (track2=tag, track1=probe)
1325- } // end of track combinations loop
1331+ }
1332+ }
13261333
1327- // twoPhoton analysis part
13281334 for (auto const & gamma1 : clusters) {
13291335 float cluE1 = gamma1.e ();
13301336 if (cluE1 < mMinCluE || cluE1 > mMaxCluE || gamma1.ncell () < mMinCluNcell || gamma1.time () > mMaxCluTime || gamma1.time () < mMinCluTime )
@@ -1358,8 +1364,10 @@ struct TpcElIdMassSpectrum {
13581364 fourVectorG2.SetPxPyPzE (gamma2.px (), gamma2.py (), gamma2.pz (), cluE2);
13591365 double pairMassGG = (fourVectorG1 + fourVectorG2).M ();
13601366 double pairPtGG = (fourVectorG1 + fourVectorG2).Pt ();
1367+
13611368 if (pairMassGG < mMassSpectrumLowerCutoff )
13621369 continue ;
1370+
13631371 mHistManager .fill (HIST (" twoPhoton/MS_noCuts" ), pairMassGG, pairPtGG, cent);
13641372 if (matchFlag1 || matchFlag2)
13651373 continue ;
0 commit comments