]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrBase/AliFiducialCut.h
Due to a wrongly overloaded function need to call SetDistToBadChannel, rather than...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliFiducialCut.h
1 #ifndef ALIFIDUCIALCUT_H
2 #define ALIFIDUCIALCUT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id:  $ */
6
7 //_________________________________________________________________________
8 // Class for track/cluster acceptance selection
9 // Selection in Central barrel, EMCAL and PHOS
10 //  
11 // Several selection regions possible for the different
12 // detectors
13 //
14 //*-- Author: Gustavo Conesa (INFN-LNF)
15
16 // --- ROOT system ---
17 #include <TObject.h> 
18 #include <TArrayF.h> 
19
20 class TString ;
21 class TLorentzVector ;
22
23 //--- AliRoot system ---
24
25
26 class AliFiducialCut : public TObject {
27
28  public: 
29   AliFiducialCut() ; // ctor
30   virtual ~AliFiducialCut() ;//virtual dtor
31
32  private:
33   AliFiducialCut(const AliFiducialCut & g) ; // cpy ctor
34   AliFiducialCut & operator = (const AliFiducialCut & g) ;//cpy assignment
35   
36  public:
37
38   void InitParameters();
39   
40   void Print(const Option_t * opt)const;
41   Bool_t CheckFiducialRegion(const TLorentzVector lv, const TArrayF* minphi, const TArrayF* maxphi, const TArrayF* mineta, const TArrayF* maxeta) const ;
42   Bool_t IsInFiducialCut    (const TLorentzVector lv, const TString det) const ;
43   
44   void DoCTSFiducialCut(Bool_t b) {fCTSFiducialCut = b; }
45   void DoEMCALFiducialCut(Bool_t b) {fEMCALFiducialCut = b; }
46   void DoPHOSFiducialCut(Bool_t b) {fPHOSFiducialCut = b; }
47
48   Bool_t GetCTSFiducialCutStatus() const {return fCTSFiducialCut ; }
49   Bool_t GetEMCALFiducialCut() const {return fEMCALFiducialCut ; }
50   Bool_t GetPHOSFiducialCutStatus() const {return fPHOSFiducialCut ; }
51
52   void SetSimpleCTSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
53   void SetSimpleEMCALFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
54   void SetSimplePHOSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
55
56   void AddCTSFidCutMaxEtaArray(Int_t size, Float_t* array)  
57   {  fCTSFidCutMaxEta->Set(size,array);  } 
58   TArrayF * GetCTSFidCutMaxEtaArray() const   {return   fCTSFidCutMaxEta;}
59   
60   void AddCTSFidCutMaxPhiArray(Int_t size, Float_t* array)  
61   {  fCTSFidCutMaxPhi->Set(size,array); }
62   TArrayF * GetCTSFidCutMaxPhiArray() const   {return   fCTSFidCutMaxPhi;}
63   
64   void AddCTSFidCutMinEtaArray(Int_t size, Float_t* array)  
65   {  fCTSFidCutMinEta->Set(size,array); } 
66   TArrayF * GetCTSFidCutMinEtaArray() const   {return   fCTSFidCutMinEta;}
67  
68   void AddCTSFidCutMinPhiArray(Int_t size, Float_t* array)  
69   {  fCTSFidCutMinPhi->Set(size,array); }
70   TArrayF * GetCTSFidCutMinPhiArray() const   {return   fCTSFidCutMinPhi;}
71   
72   void AddEMCALFidCutMaxEtaArray(Int_t size, Float_t* array)  
73   {  fEMCALFidCutMaxEta->Set(size,array); } 
74   TArrayF * GetEMCALFidCutMaxEtaArray() const   {return   fEMCALFidCutMaxEta;}
75   
76   void AddEMCALFidCutMaxPhiArray(Int_t size, Float_t* array)  
77   {  fEMCALFidCutMaxPhi->Set(size,array); }
78   TArrayF * GetEMCALFidCutMaxPhiArray() const   {return   fEMCALFidCutMaxPhi;}
79  
80   void AddEMCALFidCutMinEtaArray(Int_t size, Float_t* array)  
81   {  fEMCALFidCutMinEta->Set(size,array); } 
82   TArrayF * GetEMCALFidCutMinEtaArray() const   {return   fEMCALFidCutMinEta;}
83   
84   void AddEMCALFidCutMinPhiArray(Int_t size, Float_t* array)  
85   {  fEMCALFidCutMinPhi->Set(size,array); }
86   TArrayF * GetEMCALFidCutMinPhiArray() const   {return   fEMCALFidCutMinPhi;}
87   
88   void AddPHOSFidCutMaxEtaArray(Int_t size, Float_t* array)  
89   {  fPHOSFidCutMaxEta->Set(size,array); } 
90   TArrayF * GetPHOSFidCutMaxEtaArray() const   {return   fPHOSFidCutMaxEta;}
91   
92    void AddPHOSFidCutMaxPhiArray(Int_t size, Float_t* array)  
93    {  fPHOSFidCutMaxPhi->Set(size,array); }
94    TArrayF * GetPHOSFidCutMaxPhiArray() const   {return   fPHOSFidCutMaxPhi;}
95    
96    void AddPHOSFidCutMinEtaArray(Int_t size, Float_t* array)  
97    {  fPHOSFidCutMinEta->Set(size,array); } 
98    TArrayF * GetPHOSFidCutMinEtaArray() const   {return   fPHOSFidCutMinEta;}
99  
100    void AddPHOSFidCutMinPhiArray(Int_t size, Float_t* array)  
101    {  fPHOSFidCutMinPhi->Set(size,array); }
102    TArrayF * GetPHOSFidCutMinPhiArray() const   {return   fPHOSFidCutMinPhi;}
103    
104  
105    
106  protected:
107    
108    //Detector acceptance cuts
109    Bool_t     fEMCALFiducialCut ; // Apply fiducial cuts to EMCAL clusters
110    Bool_t     fPHOSFiducialCut ;// Apply fiducial cuts to PHOS clusters
111    Bool_t     fCTSFiducialCut ;//Apply fiducial cuts to  CTS tracks
112    
113    TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
114    TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
115    TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
116    TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
117    
118    TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
119    TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
120    TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
121    TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
122    
123    TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
124    TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
125    TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
126    TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
127   
128   ClassDef(AliFiducialCut,1)
129     } ;
130
131
132 #endif //ALIFIDUCIALCUT_H
133
134
135