|
15 | 15 | // Please write to: daiki.sekihata@cern.ch |
16 | 16 |
|
17 | 17 | #include "PWGEM/PhotonMeson/DataModel/gammaTables.h" |
18 | | -// #include "PWGLF/DataModel/LFStrangenessTables.h" |
19 | 18 |
|
20 | 19 | #include "Common/Core/RecoDecay.h" |
21 | 20 | #include "Common/DataModel/Centrality.h" |
@@ -72,6 +71,8 @@ struct eventQC { |
72 | 71 | Configurable<int> cfgQvecEstimator{"cfgQvecEstimator", 0, "FT0M:0, FT0A:1, FT0C:2, BTot:3, BPos:4, BNeg:5"}; |
73 | 72 | Configurable<float> cfgCentMin{"cfgCentMin", 0, "min. centrality"}; |
74 | 73 | Configurable<float> cfgCentMax{"cfgCentMax", 999.f, "max. centrality"}; |
| 74 | + Configurable<int> cfgNtracksPV08Min{"cfgNtracksPV08Min", -1, "min. multNTracksPV"}; |
| 75 | + Configurable<int> cfgNtracksPV08Max{"cfgNtracksPV08Max", 1000000000, "max. multNTracksPV"}; |
75 | 76 | ConfigurableAxis ConfPtBins{"ConfPtBins", {VARIABLE_WIDTH, 0.00, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 1.00, 1.10, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2.00, 2.50, 3.00, 3.50, 4.00, 4.50, 5.00, 6.00, 7.00, 8.00, 9.00, 10.00}, "pT bins for output histograms"}; |
76 | 77 | Configurable<int> cfgNbinsEta{"cfgNbinsEta", 20, "number of eta bins for output histograms"}; |
77 | 78 | Configurable<int> cfgNbinsPhi{"cfgNbinsPhi", 36, "number of phi bins for output histograms"}; |
@@ -128,36 +129,6 @@ struct eventQC { |
128 | 129 | Configurable<bool> cfg_requireTOF{"cfg_requireTOF", false, "require TOF hit"}; |
129 | 130 | } trackcuts; |
130 | 131 |
|
131 | | - struct : ConfigurableGroup { |
132 | | - std::string prefix = "v0cut_group"; |
133 | | - Configurable<float> cfg_min_mass_photon{"cfg_min_mass_photon", 0.0, "min mass for photon rejection"}; |
134 | | - Configurable<float> cfg_max_mass_photon{"cfg_max_mass_photon", 0.1, "max mass for photon rejection"}; |
135 | | - Configurable<float> cfg_min_mass_k0s{"cfg_min_mass_k0s", 0.490, "min mass for K0S"}; |
136 | | - Configurable<float> cfg_max_mass_k0s{"cfg_max_mass_k0s", 0.505, "max mass for K0S"}; |
137 | | - Configurable<float> cfg_min_mass_lambda{"cfg_min_mass_lambda", 1.11, "min mass for Lambda rejection"}; |
138 | | - Configurable<float> cfg_max_mass_lambda{"cfg_max_mass_lambda", 1.12, "max mass for Lambda rejection"}; |
139 | | - Configurable<float> cfg_min_cospa_v0hadron{"cfg_min_cospa_v0hadron", 0.999, "min cospa for v0hadron"}; |
140 | | - Configurable<float> cfg_max_pca_v0hadron{"cfg_max_pca_v0hadron", 0.5, "max distance between 2 legs for v0hadron"}; |
141 | | - Configurable<float> cfg_min_radius_v0hadron{"cfg_min_radius_v0hadron", 1.0, "min rxy for v0hadron"}; |
142 | | - Configurable<float> cfg_max_kfchi2{"cfg_max_kfchi2", 1e+10, "max kfchi2 for PCM"}; |
143 | | - Configurable<float> cfg_min_cr2findable_ratio_tpc{"cfg_min_cr2findable_ratio_tpc", 0.8, "min. TPC Ncr/Nf ratio"}; |
144 | | - Configurable<float> cfg_max_frac_shared_clusters_tpc{"cfg_max_frac_shared_clusters_tpc", 999.f, "max fraction of shared clusters in TPC"}; |
145 | | - Configurable<int> cfg_min_ncrossedrows_tpc{"cfg_min_ncrossedrows_tpc", 40, "min ncrossed rows"}; |
146 | | - Configurable<int> cfg_min_ncluster_tpc{"cfg_min_ncluster_tpc", 0, "min ncluster tpc"}; |
147 | | - Configurable<float> cfg_max_chi2tpc{"cfg_max_chi2tpc", 4.0, "max chi2/NclsTPC"}; |
148 | | - Configurable<float> cfg_max_chi2its{"cfg_max_chi2its", 5.0, "max chi2/NclsITS"}; |
149 | | - Configurable<float> cfg_max_chi2tof{"cfg_max_chi2tof", 1.0, "max chi2 for TOF"}; |
150 | | - Configurable<float> cfg_min_dcaxy_v0leg{"cfg_min_dcaxy_v0leg", 0.1, "min dca XY for v0 legs in cm"}; |
151 | | - Configurable<float> cfg_min_TPCNsigmaEl{"cfg_min_TPCNsigmaEl", -4, "min n sigma e in TPC"}; |
152 | | - Configurable<float> cfg_max_TPCNsigmaEl{"cfg_max_TPCNsigmaEl", +4, "max n sigma e in TPC"}; |
153 | | - Configurable<float> cfg_min_TPCNsigmaPi{"cfg_min_TPCNsigmaPi", -4, "min n sigma pi in TPC"}; |
154 | | - Configurable<float> cfg_max_TPCNsigmaPi{"cfg_max_TPCNsigmaPi", +4, "max n sigma pi in TPC"}; |
155 | | - Configurable<float> cfg_min_TOFNsigmaEl{"cfg_min_TOFNsigmaEl", -2, "min n sigma el in TOF"}; |
156 | | - Configurable<float> cfg_max_TOFNsigmaEl{"cfg_max_TOFNsigmaEl", +2, "max n sigma el in TOF"}; |
157 | | - Configurable<float> cfg_min_TOFNsigmaPi{"cfg_min_TOFNsigmaPi", -2, "min n sigma pi in TOF"}; |
158 | | - Configurable<float> cfg_max_TOFNsigmaPi{"cfg_max_TOFNsigmaPi", +2, "max n sigma pi in TOF"}; |
159 | | - } v0cuts; |
160 | | - |
161 | 132 | // for RCT |
162 | 133 | Configurable<bool> cfgRequireGoodRCT{"cfgRequireGoodRCT", false, "require good detector flag in run condtion table"}; |
163 | 134 | Configurable<std::string> cfgRCTLabel{"cfgRCTLabel", "CBT_hadronPID", "select 1 [CBT, CBT_hadronPID, CBT_muon_glo] see O2Physics/Common/CCDB/RCTSelectionFlags.h"}; |
@@ -757,40 +728,6 @@ struct eventQC { |
757 | 728 | return true; |
758 | 729 | } |
759 | 730 |
|
760 | | - template <typename TTrack> |
761 | | - bool isSelectedV0Leg(TTrack const& track) |
762 | | - { |
763 | | - if (!track.hasTPC()) { |
764 | | - return false; |
765 | | - } |
766 | | - |
767 | | - if (track.hasITS() && track.itsChi2NCl() > v0cuts.cfg_max_chi2its) { |
768 | | - return false; |
769 | | - } |
770 | | - |
771 | | - if (track.tpcChi2NCl() > v0cuts.cfg_max_chi2tpc) { |
772 | | - return false; |
773 | | - } |
774 | | - |
775 | | - if (track.tpcNClsFound() < v0cuts.cfg_min_ncluster_tpc) { |
776 | | - return false; |
777 | | - } |
778 | | - |
779 | | - if (track.tpcNClsCrossedRows() < v0cuts.cfg_min_ncrossedrows_tpc) { |
780 | | - return false; |
781 | | - } |
782 | | - |
783 | | - if (track.tpcCrossedRowsOverFindableCls() < v0cuts.cfg_min_cr2findable_ratio_tpc) { |
784 | | - return false; |
785 | | - } |
786 | | - |
787 | | - if (track.tpcFractionSharedCls() > v0cuts.cfg_max_frac_shared_clusters_tpc) { |
788 | | - return false; |
789 | | - } |
790 | | - |
791 | | - return true; |
792 | | - } |
793 | | - |
794 | 731 | template <typename TCollision> |
795 | 732 | bool isSelectedEvent(TCollision const& collision) |
796 | 733 | { |
@@ -875,6 +812,7 @@ struct eventQC { |
875 | 812 |
|
876 | 813 | Filter collisionFilter_evsel = o2::aod::evsel::sel8 == true && (eventcuts.cfgZvtxMin < o2::aod::collision::posZ && o2::aod::collision::posZ < eventcuts.cfgZvtxMax); |
877 | 814 | Filter collisionFilter_centrality = (cfgCentMin < o2::aod::cent::centFT0M && o2::aod::cent::centFT0M < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0A && o2::aod::cent::centFT0A < cfgCentMax) || (cfgCentMin < o2::aod::cent::centFT0C && o2::aod::cent::centFT0C < cfgCentMax); |
| 815 | + Filter collisionFilter_multiplicity = cfgNtracksPV08Min <= o2::aod::mult::multNTracksPV && o2::aod::mult::multNTracksPV < cfgNtracksPV08Max; |
878 | 816 | Filter collisionFilter_track_occupancy = eventcuts.cfgTrackOccupancyMin <= o2::aod::evsel::trackOccupancyInTimeRange && o2::aod::evsel::trackOccupancyInTimeRange < eventcuts.cfgTrackOccupancyMax; |
879 | 817 | Filter collisionFilter_ft0c_occupancy = eventcuts.cfgFT0COccupancyMin <= o2::aod::evsel::ft0cOccupancyInTimeRange && o2::aod::evsel::ft0cOccupancyInTimeRange < eventcuts.cfgFT0COccupancyMax; |
880 | 818 | using FilteredMyCollisions = soa::Filtered<MyCollisions>; |
|
0 commit comments