new classes for resonance and V0 analysis (from R. Vernet)
[u/mrichter/AliRoot.git] / CORRFW / AliCFPairQualityCuts.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 // Class to handle track quality in track pairs
18 // The track pair object to use is AliCFPair
19 // author : renaud.vernet@cern.ch
20 ///////////////////////////////////////////////
21
22
23
24 #ifndef ALICFPAIRQUALITYCUTS_H
25 #define ALICFPAIRQUALITYCUTS_H
26
27 #include "AliCFCutBase.h"
28 #include "AliCFTrackQualityCuts.h"
29
30 class AliESDEvent;
31
32 class AliCFPairQualityCuts : public AliCFCutBase
33 {
34  public :
35   AliCFPairQualityCuts() ;
36   AliCFPairQualityCuts(Char_t* name, Char_t* title) ;
37   AliCFPairQualityCuts(const AliCFPairQualityCuts& c) ;
38   AliCFPairQualityCuts& operator=(const AliCFPairQualityCuts& c) ;
39   virtual ~AliCFPairQualityCuts() {delete fCutNeg; delete fCutPos; }
40
41   virtual Bool_t IsSelected(TObject* obj) ; 
42
43   virtual void SetMinNClusterTPC (UInt_t nClusNeg, UInt_t nClusPos) 
44   {fCutNeg->SetMinNClusterTPC(nClusNeg); fCutPos->SetMinNClusterTPC(nClusPos);}
45   virtual void SetMinNClusterITS (UInt_t nClusNeg, UInt_t nClusPos) 
46   {fCutNeg->SetMinNClusterITS(nClusNeg); fCutPos->SetMinNClusterITS(nClusPos);}
47   virtual void SetMaxChi2PerClusterTPC(Double32_t chi2Neg, Double32_t chi2Pos) 
48   {fCutNeg->SetMaxChi2PerClusterTPC(chi2Neg); fCutPos->SetMaxChi2PerClusterTPC(chi2Pos);}
49   virtual void SetMaxChi2PerClusterITS(Double32_t chi2Neg, Double32_t chi2Pos) 
50   {fCutNeg->SetMaxChi2PerClusterITS(chi2Neg); fCutPos->SetMaxChi2PerClusterITS(chi2Pos);}
51   virtual void SetRequireTPCRefit(Bool_t neg, Bool_t pos) 
52   {fCutNeg->SetRequireTPCRefit(neg); fCutPos->SetRequireTPCRefit(pos);}
53   virtual void SetRequireITSRefit(Bool_t neg, Bool_t pos) 
54   {fCutNeg->SetRequireITSRefit(neg); fCutPos->SetRequireITSRefit(pos);}
55   virtual void SetMaxCovDiagonalElements(Double32_t* neg/*[5]*/, Double32_t* pos/*[5]*/) { 
56     fCutNeg->SetMaxCovDiagonalElements(neg[0],neg[1],neg[2],neg[3],neg[4]); 
57     fCutPos->SetMaxCovDiagonalElements(pos[0],pos[1],pos[2],pos[3],pos[4]); }
58
59   
60
61   ClassDef(AliCFPairQualityCuts,1);
62
63  private :
64   AliCFTrackQualityCuts *fCutNeg ; // quality cut on negative daughter
65   AliCFTrackQualityCuts *fCutPos ; // quality cut on positive daughter
66
67 };
68
69 #endif