@@ -108,8 +108,45 @@ struct BarrelTrackSelection {
108108 cut1->AddCut (VarManager::kTrackDCAxy , -1.0 , +1.0 );
109109 cut1->AddCut (VarManager::kTrackDCAz , -3.0 , +3.0 );
110110
111- cut1->AddCut (VarManager::kTPCsignal , 70 , 100 , false ); // exclude = false
112- cut1->AddCut (VarManager::kTOFnSigmaEl , -3 , +3 , false ); // exclude = false
111+ cut1->AddCut (VarManager::kTPCsignal , 70 , 90 , false ); // exclude = false
112+ cut1->AddCut (VarManager::kTPCsignal , 75 , 90 , false , VarManager::kPt , 2.0 , 1e+10 ); // exclude = false
113+ // cut1->AddCut(VarManager::kTOFnSigmaEl, -3, +3, false); //exclude = false
114+ // fTrackCut->AddCut(cut1);
115+
116+ AnalysisCompositeCut* pidcut = new AnalysisCompositeCut (false ); // false : use OR
117+ AnalysisCut* pidcut_high = new AnalysisCut (" pidcut_high" , " e high" );
118+ pidcut_high->AddCut (VarManager::kTPCsignal , 75 , 90 , false , VarManager::kPin , 2.0 , 1e+10 , false ); // exclude = false
119+ pidcut_high->AddCut (VarManager::kTPCsignal , 70 , 90 , false ); // exclude = false
120+
121+ AnalysisCut* pidcut_rejPr = new AnalysisCut (" pidcut_rejPr" , " proton rejection" );
122+ TF1* f1minPr = new TF1 (" f1minPr" , " [0]+[1]*x" , 0 , 10 );
123+ f1minPr->SetParameters (220 , -150 );
124+ TF1* f1maxPr = new TF1 (" f1maxPr" , " [0]+[1]*x" , 0 , 10 );
125+ f1maxPr->SetParameters (195 , -100 );
126+ pidcut_rejPr->AddCut (VarManager::kTPCsignal , f1minPr, f1maxPr, true , VarManager::kPin , 0.8 , 1.25 , false ); // exclude = false
127+
128+ AnalysisCut* pidcut_rejKa = new AnalysisCut (" pidcut_rejKa" , " kaon rejection" );
129+ TF1* f1minKa = new TF1 (" f1minKa" , " [0]+[1]*x" , 0 , 10 );
130+ f1minKa->SetParameters (220 , -300 );
131+ TF1* f1maxKa = new TF1 (" f1maxKa" , " [0]+[1]*x" , 0 , 10 );
132+ f1maxKa->SetParameters (182.5 , -150 );
133+ pidcut_rejKa->AddCut (VarManager::kTPCsignal , f1minKa, f1maxKa, true , VarManager::kPin , 0.4 , 0.8 , false ); // exclude = false
134+
135+ AnalysisCut* pidcut_rejPi = new AnalysisCut (" pidcut_rejPi" , " pion rejection" );
136+ TF1* f1maxPi = new TF1 (" f1maxPi" , " [0]+[1]*x" , 0 , 10 );
137+ f1maxPi->SetParameters (85 , -50 );
138+ pidcut_rejPi->AddCut (VarManager::kTPCsignal , 70 , f1maxPi, true , VarManager::kPin , 0.0 , 0.4 , false ); // exclude = false
139+
140+ cut1->AddCut (VarManager::kTPCsignal , f1minPr, f1maxPr, true , VarManager::kPin , 0.8 , 1.25 , false ); // exclude = false
141+ cut1->AddCut (VarManager::kTPCsignal , f1minKa, f1maxKa, true , VarManager::kPin , 0.4 , 0.8 , false ); // exclude = false
142+ cut1->AddCut (VarManager::kTPCsignal , 70 , f1maxPi, true , VarManager::kPin , 0.0 , 0.4 , false ); // exclude = false
143+
144+ // pidcut->AddCut(pidcut_high);
145+ // pidcut->AddCut(pidcut_rejPr);
146+ // pidcut->AddCut(pidcut_rejKa);
147+ // pidcut->AddCut(pidcut_rejPi);
148+ // fTrackCut->AddCut(pidcut);
149+
113150 fTrackCut ->AddCut (cut1);
114151
115152 VarManager::SetUseVars (AnalysisCut::fgUsedVars); // provide the list of required variables so that VarManager knows what to fill
0 commit comments