1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
17 ////////////////////////////////////////////////
18 // Class to define PID cuts on a pair of tracks
19 // The track pair object to use is AliCFPair
21 // author : renaud.vernet@cern.ch
22 ////////////////////////////////////////////////
24 #ifndef ALICFPAIRPIDCUT_H
25 #define ALICFPAIRPIDCUT_H
27 #include "AliCFCutBase.h"
28 #include "AliCFTrackCutPid.h"
30 //__________________________________________________________________________________
31 // CUT ON TRACK PID FOR V0 DAUGHTERS
32 //__________________________________________________________________________________
34 class AliCFPairPidCut : public AliCFCutBase
38 AliCFPairPidCut(const Char_t* name, const Char_t* title) ;
39 AliCFPairPidCut(const AliCFPairPidCut& c) ;
40 AliCFPairPidCut& operator=(const AliCFPairPidCut& c) ;
41 virtual ~AliCFPairPidCut() {delete fCutNeg; delete fCutPos; };
43 void SetDetectors(TString detsNeg, TString detsPos)
44 {fCutNeg->SetDetectors(detsNeg); fCutPos->SetDetectors(detsPos);} //sets the chosen detectors
45 void SetPriors(Double_t r[AliPID::kSPECIES])
46 {fCutNeg->SetPriors(r); fCutPos->SetPriors(r);} //sets the a priori concentrations
47 void SetProbabilityCut(Double32_t cut1, Double32_t cut2)
48 {fCutNeg->SetProbabilityCut(cut1); fCutPos->SetProbabilityCut(cut2);} //sets the prob cut
49 void SetParticleType(Int_t iType1, Bool_t tocombine1, Int_t iType2, Bool_t tocombine2) //sets the particle to be identified and the mode
50 {fCutNeg->SetParticleType(iType1,tocombine1); fCutPos->SetParticleType(iType2,tocombine2);} // (single detector kFALSE/ combined kTRUE)
51 void SetMinDiffResp(Bool_t check1, Double_t mindiff1, Bool_t check2, Double_t mindiff2)
52 {fCutNeg->SetMinDiffResp(check1,mindiff1); fCutPos->SetMinDiffResp(check2,mindiff2);} //set checking at det. response level
53 void SetMinDiffProb(Bool_t check1, Double_t mindiff1, Bool_t check2, Double_t mindiff2)
54 {fCutNeg->SetMinDiffProb(check1,mindiff1); fCutPos->SetMinDiffProb(check2,mindiff2);} //set checking at probability level
56 virtual Bool_t IsSelected(TObject *obj); //boolena for detectors
59 AliCFTrackCutPid* fCutNeg; //! PID cut on negative daughter
60 AliCFTrackCutPid* fCutPos; //! PID cut on positive daughter
62 ClassDef(AliCFPairPidCut,1);