@@ -61,6 +61,8 @@ DECLARE_SOA_COLUMN(TTpcChi2NCl, tTpcChi2NCl, float);
6161DECLARE_SOA_COLUMN (TItsChi2NCl, tItsChi2NCl, float );
6262DECLARE_SOA_COLUMN (TRigidity, tRigidity, float );
6363DECLARE_SOA_COLUMN (TItsClusterSize, tItsClusterSize, float );
64+ DECLARE_SOA_COLUMN (THasTof, tHasTof, bool );
65+ DECLARE_SOA_COLUMN (TDetectorMap, tDetectorMap, int8_t );
6466} // namespace h3_data
6567DECLARE_SOA_TABLE (H3Data, " AOD" , " h3_data" , h3_data::TPt, h3_data::TEta,
6668 h3_data::TPhi, h3_data::TCharge, h3_data::TH3DeDx,
@@ -69,7 +71,7 @@ DECLARE_SOA_TABLE(H3Data, "AOD", "h3_data", h3_data::TPt, h3_data::TEta,
6971 h3_data::TSigmaZ, h3_data::TnTpcCluster,
7072 h3_data::TnItsCluster, h3_data::TTpcChi2NCl,
7173 h3_data::TItsChi2NCl, h3_data::TRigidity,
72- h3_data::TItsClusterSize);
74+ h3_data::TItsClusterSize, h3_data::THasTof, h3_data::TDetectorMap );
7375namespace he_data
7476{
7577DECLARE_SOA_COLUMN (TPt, tPt, float );
@@ -91,6 +93,8 @@ DECLARE_SOA_COLUMN(TTpcChi2NCl, tTpcChi2NCl, float);
9193DECLARE_SOA_COLUMN (TItsChi2NCl, tItsChi2NCl, float );
9294DECLARE_SOA_COLUMN (TRigidity, tRigidity, float );
9395DECLARE_SOA_COLUMN (TItsClusterSize, tItsClusterSize, float );
96+ DECLARE_SOA_COLUMN (THasTof, tHasTof, bool );
97+ DECLARE_SOA_COLUMN (TDetectorMap, tDetectorMap, int8_t );
9498} // namespace he_data
9599DECLARE_SOA_TABLE (HeData, " AOD" , " he_data" , he_data::TPt, he_data::TEta,
96100 he_data::TPhi, he_data::TCharge, he_data::THeDeDx,
@@ -99,7 +103,7 @@ DECLARE_SOA_TABLE(HeData, "AOD", "he_data", he_data::TPt, he_data::TEta,
99103 he_data::TSigmaZ, he_data::TnTpcCluster,
100104 he_data::TnItsCluster, he_data::TTpcChi2NCl,
101105 he_data::TItsChi2NCl, he_data::TRigidity,
102- he_data::TItsClusterSize);
106+ he_data::TItsClusterSize, he_data::THasTof, he_data::TDetectorMap );
103107} // namespace o2::aod
104108namespace
105109{
@@ -189,6 +193,7 @@ struct TrHeAnalysis {
189193
190194 Configurable<bool > cfgTPCPidMethod{" cfgTPCPidMethod" , false , " Using own or built in bethe parametrization" }; // false for built in
191195 Configurable<int > cfgMassMethod{" cfgMassMethod" , 0 , " 0: Using built in 1: mass calculated with beta 2: mass calculated with the event time" };
196+ Configurable<bool > cfgEnableItsClusterSizeCut{" cfgEnableItsClusterSizeCut" , false , " Enable ITS cluster size cut" };
192197 // Set the multiplity event limits
193198 Configurable<float > cfgLowMultCut{" cfgLowMultCut" , 0 .0f , " Accepted multiplicity percentage lower limit" };
194199 Configurable<float > cfgHighMultCut{" cfgHighMultCut" , 100 .0f , " Accepted multiplicity percentage higher limit" };
@@ -387,10 +392,12 @@ struct TrHeAnalysis {
387392 histos.fill (HIST (" histogram/cuts" ), 7 );
388393 continue ;
389394 }
390- if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeH3 ||
391- getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeH3) {
392- histos.fill (HIST (" histogram/cuts" ), 12 );
393- continue ;
395+ if (cfgEnableItsClusterSizeCut) {
396+ if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeHe ||
397+ getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeHe) {
398+ histos.fill (HIST (" histogram/cuts" ), 12 );
399+ continue ;
400+ }
394401 }
395402 if (getMass (track) < cfgCutMinTofMassH3 || getMass (track) > cfgCutMaxTofMassH3) {
396403 histos.fill (HIST (" histogram/cuts" ), 13 );
@@ -421,10 +428,12 @@ struct TrHeAnalysis {
421428 float tRigidity = getRigidity (track);
422429 float tItsClusterSize =
423430 getMeanItsClsSize (track) / std::cosh (track.eta ());
431+ bool tHasTof = track.hasTOF ();
432+ int8_t tDetectorMap = track.detectorMap ();
424433 h3Data (tPt, tEta, tPhi, tCharge, tH3DeDx, tnSigmaTpc, tTofSignalH3,
425434 tDcaXY, tDcaZ, tSigmaYX, tSigmaXYZ, tSigmaZ, tnTpcCluster,
426435 tnItsCluster, tTpcChi2NCl, tItsChi2NCl, tRigidity,
427- tItsClusterSize);
436+ tItsClusterSize, tHasTof, tDetectorMap );
428437 }
429438 }
430439 if (enableHe && heRapCut) {
@@ -438,10 +447,12 @@ struct TrHeAnalysis {
438447 histos.fill (HIST (" histogram/cuts" ), 7 );
439448 continue ;
440449 }
441- if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeHe ||
442- getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeHe) {
443- histos.fill (HIST (" histogram/cuts" ), 12 );
444- continue ;
450+ if (cfgEnableItsClusterSizeCut) {
451+ if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeHe ||
452+ getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeHe) {
453+ histos.fill (HIST (" histogram/cuts" ), 12 );
454+ continue ;
455+ }
445456 }
446457 histos.fill (HIST (" histogram/He/He-TPCsignVsTPCmomentum" ),
447458 getRigidity (track) * track.sign (),
@@ -468,10 +479,12 @@ struct TrHeAnalysis {
468479 float tRigidity = getRigidity (track);
469480 float tItsClusterSize =
470481 getMeanItsClsSize (track) / std::cosh (track.eta ());
482+ bool tHasTof = track.hasTOF ();
483+ int8_t tDetectorMap = track.detectorMap ();
471484 heData (tPt, tEta, tPhi, tCharge, tHeDeDx, tnSigmaTpc, tTofSignalHe,
472485 tDcaXY, tDcaZ, tSigmaYX, tSigmaXYZ, tSigmaZ, tnTpcCluster,
473486 tnItsCluster, tTpcChi2NCl, tItsChi2NCl, tRigidity,
474- tItsClusterSize);
487+ tItsClusterSize, tHasTof, tDetectorMap );
475488 }
476489 }
477490 }
@@ -542,10 +555,12 @@ struct TrHeAnalysis {
542555 histos.fill (HIST (" histogram/cuts" ), 7 );
543556 continue ;
544557 }
545- if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeH3 ||
546- getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeH3) {
547- histos.fill (HIST (" histogram/cuts" ), 12 );
548- continue ;
558+ if (cfgEnableItsClusterSizeCut) {
559+ if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeH3 ||
560+ getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeH3) {
561+ histos.fill (HIST (" histogram/cuts" ), 12 );
562+ continue ;
563+ }
549564 }
550565 if (getMass (track) < cfgCutMinTofMassH3 || getMass (track) > cfgCutMaxTofMassH3) {
551566 histos.fill (HIST (" histogram/cuts" ), 13 );
@@ -576,10 +591,12 @@ struct TrHeAnalysis {
576591 float tRigidity = getRigidity (track);
577592 float tItsClusterSize =
578593 getMeanItsClsSize (track) / std::cosh (track.eta ());
594+ bool tHasTof = track.hasTOF ();
595+ int8_t tDetectorMap = track.detectorMap ();
579596 h3Data (tPt, tEta, tPhi, tCharge, tH3DeDx, tnSigmaTpc, tTofSignalH3,
580597 tDcaXY, tDcaZ, tSigmaYX, tSigmaXYZ, tSigmaZ, tnTpcCluster,
581598 tnItsCluster, tTpcChi2NCl, tItsChi2NCl, tRigidity,
582- tItsClusterSize);
599+ tItsClusterSize, tHasTof, tDetectorMap );
583600 }
584601 }
585602 if (enableHe && heRapCut) {
@@ -592,10 +609,12 @@ struct TrHeAnalysis {
592609 histos.fill (HIST (" histogram/cuts" ), 7 );
593610 continue ;
594611 }
595- if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeHe ||
596- getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeHe) {
597- histos.fill (HIST (" histogram/cuts" ), 12 );
598- continue ;
612+ if (cfgEnableItsClusterSizeCut) {
613+ if (getMeanItsClsSize (track) / std::cosh (track.eta ()) <= cfgCutMinItsClusterSizeHe ||
614+ getMeanItsClsSize (track) / std::cosh (track.eta ()) >= cfgCutMaxItsClusterSizeHe) {
615+ histos.fill (HIST (" histogram/cuts" ), 12 );
616+ continue ;
617+ }
599618 }
600619 histos.fill (HIST (" histogram/He/He-TPCsignVsTPCmomentum" ),
601620 getRigidity (track) * track.sign (),
@@ -622,10 +641,12 @@ struct TrHeAnalysis {
622641 float tRigidity = getRigidity (track);
623642 float tItsClusterSize =
624643 getMeanItsClsSize (track) / std::cosh (track.eta ());
644+ bool tHasTof = track.hasTOF ();
645+ int8_t tDetectorMap = track.detectorMap ();
625646 heData (tPt, tEta, tPhi, tCharge, tHeDeDx, tnSigmaTpc, tTofSignalHe,
626647 tDcaXY, tDcaZ, tSigmaYX, tSigmaXYZ, tSigmaZ, tnTpcCluster,
627648 tnItsCluster, tTpcChi2NCl, tItsChi2NCl, tRigidity,
628- tItsClusterSize);
649+ tItsClusterSize, tHasTof, tDetectorMap );
629650 }
630651 }
631652 }
0 commit comments