Streamable data members required for PROOF.
[u/mrichter/AliRoot.git] / CORRFW / AliCFPairPidCut.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/
15
16
17 ////////////////////////////////////////////////
18 // Class to define PID cuts on a pair of tracks
19 // The track pair object to use is AliCFPair
20 //
21 // author : renaud.vernet@cern.ch
22 ////////////////////////////////////////////////
23
24 #ifndef ALICFPAIRPIDCUT_H
25 #define ALICFPAIRPIDCUT_H
26
27 #include "AliCFCutBase.h"
28 #include "AliCFTrackCutPid.h"
29
30 //__________________________________________________________________________________
31 // CUT ON TRACK PID FOR V0 DAUGHTERS
32 //__________________________________________________________________________________
33
34 class AliCFPairPidCut : public AliCFCutBase
35 {
36   public :
37   AliCFPairPidCut() ;
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; };
42
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
55
56   Bool_t IsSelected(TObject *obj); //boolean for detectors
57   Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
58  private:
59   AliCFTrackCutPid* fCutNeg; // PID cut on negative daughter
60   AliCFTrackCutPid* fCutPos; // PID cut on positive daughter
61
62   ClassDef(AliCFPairPidCut,1);
63 };
64 #endif
65