@@ -97,15 +97,15 @@ struct TreeCreatorElectronMLDDA {
9797 {" V0/hTOFbeta_P_Ka" , " TOF beta vs. p;p^{ITS-TPC} (GeV/c);TOF #beta" , {HistType::kTH2F , {{500 , 0 , 5 }, {220 , 0 , 1.1 }}}},
9898 {" V0/hTOFbeta_P_Pr" , " TOF beta vs. p;p^{ITS-TPC} (GeV/c);TOF #beta" , {HistType::kTH2F , {{500 , 0 , 5 }, {220 , 0 , 1.1 }}}},
9999
100- {" V0/hITSobClusterSize_P_El " , " mean ITSob cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITSob cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
101- {" V0/hITSobClusterSize_P_Mu " , " mean ITSob cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITSob cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
102- {" V0/hITSobClusterSize_P_Pi " , " mean ITSob cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITSob cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
103- {" V0/hITSobClusterSize_P_Ka " , " mean ITSob cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITSob cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
104- {" V0/hITSobClusterSize_P_Pr " , " mean ITSob cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITSob cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
100+ {" V0/hITSClusterSize_P_El " , " mean ITS cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITS cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
101+ {" V0/hITSClusterSize_P_Mu " , " mean ITS cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITS cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
102+ {" V0/hITSClusterSize_P_Pi " , " mean ITS cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITS cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
103+ {" V0/hITSClusterSize_P_Ka " , " mean ITS cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITS cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
104+ {" V0/hITSClusterSize_P_Pr " , " mean ITS cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITS cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
105105
106106 {" PrimaryTrack/hTPCdEdx_P" , " TPC dEdx vs. p;p^{ITS-TPC} (GeV/c);TPC dE/dx" , {HistType::kTH2F , {{500 , 0 , 5 }, {200 , 0 , 200 }}}},
107107 {" PrimaryTrack/hTOFbeta_P" , " TOF beta vs. p;p^{ITS-TPC} (GeV/c);TOF #beta" , {HistType::kTH2F , {{500 , 0 , 5 }, {220 , 0 , 1.1 }}}},
108- {" PrimaryTrack/hITSobClusterSize_P " , " mean ITSob cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITSob cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
108+ {" PrimaryTrack/hITSClusterSize_P " , " mean ITS cluster size vs. p;p^{ITS-TPC} (GeV/c);<ITS cluster size> #times cos(#lambda)" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {150 , 0.0 , 15 }}}},
109109 {" PrimaryTrack/hTPCNsigmaEl_P" , " TPC n#sigma_{e} vs. p;p^{ITS-TPC} (GeV/c);n #sigma_{e}^{TPC}" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {100 , -5 , +5 }}}},
110110 {" PrimaryTrack/hTPCNsigmaMu_P" , " TPC n#sigma_{#mu} vs. p;p^{ITS-TPC} (GeV/c);n #sigma_{#mu}^{TPC}" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {100 , -5 , +5 }}}},
111111 {" PrimaryTrack/hTPCNsigmaPi_P" , " TPC n#sigma_{#pi} vs. p;p^{ITS-TPC} (GeV/c);n #sigma_{#pi}^{TPC}" , {HistType::kTH2F , {{500 , 0 .f , 5 .f }, {100 , -5 , +5 }}}},
@@ -129,10 +129,10 @@ struct TreeCreatorElectronMLDDA {
129129 {" Cascade/hMassAntiLambda" , " V0 mass AntiLambda in cascade" , {HistType::kTH1F , {{100 , 1.05 , 1.15 }}}},
130130 {" Cascade/hMassXi" , " cascade mass #Xi" , {HistType::kTH1F , {{200 , 1.2 , 1.4 }}}},
131131 {" Cascade/hMassOmega" , " cascade mass #Omega" , {HistType::kTH1F , {{200 , 1.6 , 1.8 }}}},
132- {" Cascade/hMassPt_Xi" , " cascade mass #Xi;m_{#Lambda#pi} (GeV/c^{2});p_{T,#Lambda#pi} (GeV/c)" , {HistType::kTH2F , {{200 , 1.2 , 1.4 }, {100 , 0 , 10 }}}},
133- {" Cascade/hMassPt_Xi_bachelor" , " cascade mass #Xi;m_{#Lambda#pi} (GeV/c^{2});p_{T,#pi} (GeV/c)" , {HistType::kTH2F , {{200 , 1.2 , 1.4 }, {100 , 0 , 10 }}}},
134- {" Cascade/hMassPt_Omega" , " cascade mass;#Omegam_ {#LambdaK} (GeV/c^{2});p_{T,#LambdaK} (GeV/c)" , {HistType::kTH2F , {{200 , 1.6 , 1.8 }, {100 , 0 , 10 }}}},
135- {" Cascade/hMassPt_Omega_bachelor" , " cascade mass #Omega;m_{#LambdaK} (GeV/c^{2});p_{T,K} (GeV/c)" , {HistType::kTH2F , {{200 , 1.6 , 1.8 }, {100 , 0 , 10 }}}},
132+ {" Cascade/hMassPt_Xi" , " cascade mass #Xi^{#pm} ;m_{#Lambda#pi} (GeV/c^{2});p_{T,#Lambda#pi} (GeV/c)" , {HistType::kTH2F , {{200 , 1.2 , 1.4 }, {100 , 0 , 10 }}}},
133+ {" Cascade/hMassPt_Xi_bachelor" , " cascade mass #Xi^{#pm} ;m_{#Lambda#pi} (GeV/c^{2});p_{T,#pi} (GeV/c)" , {HistType::kTH2F , {{200 , 1.2 , 1.4 }, {100 , 0 , 10 }}}},
134+ {" Cascade/hMassPt_Omega" , " cascade mass #Omega^{#pm};m_ {#LambdaK} (GeV/c^{2});p_{T,#LambdaK} (GeV/c)" , {HistType::kTH2F , {{200 , 1.6 , 1.8 }, {100 , 0 , 10 }}}},
135+ {" Cascade/hMassPt_Omega_bachelor" , " cascade mass #Omega^{#pm} ;m_{#LambdaK} (GeV/c^{2});p_{T,K} (GeV/c)" , {HistType::kTH2F , {{200 , 1.6 , 1.8 }, {100 , 0 , 10 }}}},
136136 },
137137 };
138138
@@ -153,7 +153,7 @@ struct TreeCreatorElectronMLDDA {
153153 Configurable<float > downscaling_pion{" downscaling_pion" , 0.001 , " down scaling factor to store pion" };
154154 Configurable<float > downscaling_kaon{" downscaling_kaon" , 1.1 , " down scaling factor to store kaon" };
155155 Configurable<float > downscaling_proton{" downscaling_proton" , 0.01 , " down scaling factor to store proton" };
156- Configurable<bool > store_v0photons{" store_v0photons" , false , " create training data from v0 photons" };
156+ Configurable<bool > store_v0photons{" store_v0photons" , true , " create training data from v0 photons" };
157157 Configurable<float > slope{" slope" , 0.0185 , " slope for m vs. phiv" };
158158 Configurable<float > intercept{" intercept" , -0.0380 , " intercept for m vs. phiv" };
159159
@@ -165,8 +165,8 @@ struct TreeCreatorElectronMLDDA {
165165 Configurable<float > cfg_max_frac_shared_clusters_tpc{" cfg_max_frac_shared_clusters_tpc" , 0.7 , " max fraction of shared clusters in TPC" };
166166 Configurable<int > cfg_min_ncrossedrows_tpc{" cfg_min_ncrossedrows_tpc" , 70 , " min ncrossed rows" };
167167 Configurable<int > cfg_min_ncluster_tpc{" cfg_min_ncluster_tpc" , 0 , " min ncluster tpc" };
168- Configurable<int > cfg_min_ncluster_its{" cfg_min_ncluster_its" , 4 , " min ncluster its" };
169- Configurable<int > cfg_min_ncluster_itsib{" cfg_min_ncluster_itsib" , 1 , " min ncluster itsib" };
168+ Configurable<int > cfg_min_ncluster_its{" cfg_min_ncluster_its" , 2 , " min ncluster its" };
169+ Configurable<int > cfg_min_ncluster_itsib{" cfg_min_ncluster_itsib" , 0 , " min ncluster itsib" };
170170 Configurable<float > cfg_max_chi2tpc{" cfg_max_chi2tpc" , 5.0 , " max chi2/NclsTPC" };
171171 Configurable<float > cfg_max_chi2its{" cfg_max_chi2its" , 6.0 , " max chi2/NclsITS" };
172172 Configurable<float > cfg_max_dcaxy{" cfg_max_dcaxy" , 0.3 , " max dca XY in cm" };
@@ -188,8 +188,8 @@ struct TreeCreatorElectronMLDDA {
188188 Configurable<float > cfg_max_frac_shared_clusters_tpc{" cfg_max_frac_shared_clusters_tpc" , 0.7 , " max fraction of shared clusters in TPC" };
189189 Configurable<int > cfg_min_ncrossedrows_tpc{" cfg_min_ncrossedrows_tpc" , 70 , " min ncrossed rows" };
190190 Configurable<int > cfg_min_ncluster_tpc{" cfg_min_ncluster_tpc" , 0 , " min ncluster tpc" };
191- Configurable<int > cfg_min_ncluster_its{" cfg_min_ncluster_its" , 4 , " min ncluster its" };
192- Configurable<int > cfg_min_ncluster_itsib{" cfg_min_ncluster_itsib" , 1 , " min ncluster itsib" };
191+ Configurable<int > cfg_min_ncluster_its{" cfg_min_ncluster_its" , 2 , " min ncluster its" };
192+ Configurable<int > cfg_min_ncluster_itsib{" cfg_min_ncluster_itsib" , 0 , " min ncluster itsib" };
193193 Configurable<float > cfg_max_chi2tpc{" cfg_max_chi2tpc" , 5.0 , " max chi2/NclsTPC" };
194194 Configurable<float > cfg_max_chi2its{" cfg_max_chi2its" , 6.0 , " max chi2/NclsITS" };
195195 Configurable<float > cfg_min_dcaxy_v0leg{" cfg_min_dcaxy_v0leg" , 0.1 , " min dca XY for v0 legs in cm" };
@@ -237,6 +237,8 @@ struct TreeCreatorElectronMLDDA {
237237 Configurable<float > cfg_max_dcadau{" cfg_max_dcadau" , 0.4 , " max distance between bachelor and V0" };
238238 Configurable<float > cfg_min_rxy_v0{" cfg_min_rxy_v0" , 1.2 , " minimum V0 rxy in cascade" };
239239 Configurable<float > cfg_min_rxy{" cfg_min_rxy" , 0.5 , " minimum V0 rxy in cascade" };
240+ Configurable<float > cfg_min_dcaxy_v0leg{" cfg_min_dcaxy_v0leg" , 0.1 , " min dca XY for v0 legs in cm" };
241+ Configurable<float > cfg_min_dcaxy_bachelor{" cfg_min_dcaxy_bachelor" , 0.1 , " min dca XY for bachelor in cm" };
240242 } cascadecuts;
241243
242244 int mRunNumber ;
@@ -391,9 +393,9 @@ struct TreeCreatorElectronMLDDA {
391393 return false ;
392394 }
393395
394- if (std::fabs (track.dcaXY ()) < v0cuts.cfg_min_dcaxy_v0leg ) {
395- return false ;
396- }
396+ // if (std::fabs(track.dcaXY()) < v0cuts.cfg_min_dcaxy_v0leg) { // this is applied in filter.
397+ // return false;
398+ // }
397399
398400 if (track.itsNCls () < v0cuts.cfg_min_ncluster_its ) {
399401 return false ;
@@ -488,18 +490,19 @@ struct TreeCreatorElectronMLDDA {
488490 }
489491
490492 // ! type of V0. 0: built solely for cascades (does not pass standard V0 cuts), 1: standard 2, 3: photon-like with TPC-only use. Regular analysis should always use type 1.
491- Filter v0Filter = o2::aod::v0data::v0Type == uint8_t (1 ) && o2::aod::v0data::v0cosPA > v0cuts.cfg_min_cospa.value&& o2::aod::v0data::dcaV0daughters < v0cuts.cfg_max_dcadau.value;
493+ Filter v0Filter = o2::aod::v0data::v0Type == uint8_t (1 ) && o2::aod::v0data::v0cosPA > v0cuts.cfg_min_cospa.value&& o2::aod::v0data::dcaV0daughters< v0cuts.cfg_max_dcadau.value && nabs(o2::aod::v0data::dcanegtopv)> v0cuts.cfg_min_dcaxy_v0leg&& nabs(o2::aod::v0data::dcanegtopv) > v0cuts.cfg_min_dcaxy_v0leg ;
492494 using filteredV0s = soa::Filtered<aod::V0Datas>;
493495
496+ Filter cascadeFilter = o2::aod::cascdata::dcacascdaughters < cascadecuts.cfg_max_dcadau.value && nabs(o2::aod::cascdata::dcanegtopv) > cascadecuts.cfg_min_dcaxy_v0leg&& nabs(o2::aod::cascdata::dcanegtopv) > cascadecuts.cfg_min_dcaxy_v0leg&& nabs(o2::aod::cascdata::dcabachtopv) > cascadecuts.cfg_min_dcaxy_bachelor;
497+ using filteredCascades = soa::Filtered<aod::CascDatas>;
498+
494499 Filter collisionFilter_common = nabs(o2::aod::collision::posZ) < 10 .f && o2::aod::evsel::sel8 == true ;
495500 using filteredMyCollisions = soa::Filtered<MyCollisions>;
496501
497- // ! type of V0. 0: built solely for cascades (does not pass standard V0 cuts), 1: standard 2, 3: photon-like with TPC-only use. Regular analysis should always use type 1 or 3.
498502 Preslice<aod::V0Datas> perCollision_v0 = o2::aod::v0data::collisionId;
499503 Preslice<aod::CascDatas> perCollision_cascade = o2::aod::cascdata::collisionId;
500504 Preslice<MyTracks> perCollision_track = o2::aod::track::collisionId;
501505
502- // Don't apply filter to tracks, because posTrack_as<>, negTrack_as<> is used.
503506 Partition<MyTracks> posTracks = o2::aod::track::signed1Pt > 0 .f && ncheckbit(aod::track::v001::detectorMap, (uint8_t )o2::aod::track::ITS) == true && ncheckbit(aod::track::v001::detectorMap, (uint8_t )o2::aod::track::TPC) == true ;
504507 Partition<MyTracks> negTracks = o2::aod::track::signed1Pt < 0 .f && ncheckbit(aod::track::v001::detectorMap, (uint8_t )o2::aod::track::ITS) == true && ncheckbit(aod::track::v001::detectorMap, (uint8_t )o2::aod::track::TPC) == true ;
505508 std::vector<uint64_t > stored_trackIds;
@@ -717,7 +720,7 @@ struct TreeCreatorElectronMLDDA {
717720
718721 registry.fill (HIST (" PrimaryTrack/hTPCdEdx_P" ), track.p (), track.tpcSignal ());
719722 registry.fill (HIST (" PrimaryTrack/hTOFbeta_P" ), track.p (), track.beta ());
720- registry.fill (HIST (" PrimaryTrack/hITSobClusterSize_P " ), track.p (), meanClusterSizeITS<3 , 7 >(track) * std::cos (std::atan (track.tgl ())));
723+ registry.fill (HIST (" PrimaryTrack/hITSClusterSize_P " ), track.p (), meanClusterSizeITS<0 , 7 >(track) * std::cos (std::atan (track.tgl ())));
721724 registry.fill (HIST (" PrimaryTrack/hTPCNsigmaEl_P" ), track.p (), track.tpcNSigmaEl ());
722725 registry.fill (HIST (" PrimaryTrack/hTOFNsigmaEl_P" ), track.p (), track.tofNSigmaEl ());
723726 registry.fill (HIST (" PrimaryTrack/hTPCNsigmaMu_P" ), track.p (), track.tpcNSigmaMu ());
0 commit comments