]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliFidutialCut.h
Modifications to eliminate the simulation parameters from
[u/mrichter/AliRoot.git] / PWG4 / AliFidutialCut.h
1 #ifndef ALIFIDUTIALCUT_H
2 #define ALIFIDUTIALCUT_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 //*-- Author: Gustavo Conesa (INFN-LNF)
12
13 // --- ROOT system ---
14 #include <TObject.h> 
15 #include <TArrayF.h> 
16
17  class TString ;
18 class Riostream ;
19 class TLorentzVector ;
20
21 //--- AliRoot system ---
22
23 class AliLog ;
24
25 class AliFidutialCut : public TObject {
26
27 public: 
28
29   AliFidutialCut() ; // ctor
30   AliFidutialCut(const AliFidutialCut & g) ; // cpy ctor
31   AliFidutialCut & operator = (const AliFidutialCut & g) ;//cpy assignment
32   virtual ~AliFidutialCut() ;//virtual dtor
33
34   void InitParameters();
35   
36   void Print(const Option_t * opt)const;
37   
38   Bool_t IsInFidutialCut(TLorentzVector l, TString det) const ;
39   
40   void DoCTSFidutialCut(Bool_t b) {fCTSFidutialCut = b; }
41   void DoEMCALFidutialCut(Bool_t b) {fEMCALFidutialCut = b; }
42   void DoPHOSFidutialCut(Bool_t b) {fPHOSFidutialCut = b; }
43
44   Bool_t GetCTSFidutialCutStatus() const {return fCTSFidutialCut ; }
45   Bool_t GetEMCALFidutialCut() const {return fEMCALFidutialCut ; }
46   Bool_t GetPHOSFidutialCutStatus() const {return fPHOSFidutialCut ; }
47
48   void SetSimpleCTSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
49   void SetSimpleEMCALFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
50   void SetSimplePHOSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
51
52   void AddCTSFidCutMaxEtaArray(TArrayF & array)  
53   {  fCTSFidCutMaxEta  = new TArrayF(array) ; } 
54   TArrayF * GetCTSFidCutMaxEtaArray() const   {return   fCTSFidCutMaxEta;}
55   
56   void AddCTSFidCutMaxPhiArray(TArrayF & array)  
57   {  fCTSFidCutMaxPhi  = new TArrayF(array) ; }
58   TArrayF * GetCTSFidCutMaxPhiArray() const   {return   fCTSFidCutMaxPhi;}
59   
60   void AddCTSFidCutMinEtaArray(TArrayF & array)  
61   {  fCTSFidCutMinEta  = new TArrayF(array) ; } 
62   TArrayF * GetCTSFidCutMinEtaArray() const   {return   fCTSFidCutMinEta;}
63  
64   void AddCTSFidCutMinPhiArray(TArrayF & array)  
65   {  fCTSFidCutMinPhi  = new TArrayF(array) ; }
66   TArrayF * GetCTSFidCutMinPhiArray() const   {return   fCTSFidCutMinPhi;}
67   
68   void AddEMCALFidCutMaxEtaArray(TArrayF & array)  
69   {  fEMCALFidCutMaxEta  = new TArrayF(array) ; } 
70   TArrayF * GetEMCALFidCutMaxEtaArray() const   {return   fEMCALFidCutMaxEta;}
71   
72   void AddEMCALFidCutMaxPhiArray(TArrayF & array)  
73   {  fEMCALFidCutMaxPhi  = new TArrayF(array) ; }
74   TArrayF * GetEMCALFidCutMaxPhiArray() const   {return   fEMCALFidCutMaxPhi;}
75  
76   void AddEMCALFidCutMinEtaArray(TArrayF & array)  
77   {  fEMCALFidCutMinEta  = new TArrayF(array) ; } 
78   TArrayF * GetEMCALFidCutMinEtaArray() const   {return   fEMCALFidCutMinEta;}
79   
80   void AddEMCALFidCutMinPhiArray(TArrayF & array)  
81   {  fEMCALFidCutMinPhi  = new TArrayF(array) ; }
82   TArrayF * GetEMCALFidCutMinPhiArray() const   {return   fEMCALFidCutMinPhi;}
83   
84   void AddPHOSFidCutMaxEtaArray(TArrayF & array)  
85   {  fPHOSFidCutMaxEta  = new TArrayF(array) ; } 
86   TArrayF * GetPHOSFidCutMaxEtaArray() const   {return   fPHOSFidCutMaxEta;}
87   
88    void AddPHOSFidCutMaxPhiArray(TArrayF & array)  
89    {  fPHOSFidCutMaxPhi  = new TArrayF(array) ; }
90    TArrayF * GetPHOSFidCutMaxPhiArray() const   {return   fPHOSFidCutMaxPhi;}
91    
92    void AddPHOSFidCutMinEtaArray(TArrayF & array)  
93    {  fPHOSFidCutMinEta  = new TArrayF(array) ; } 
94    TArrayF * GetPHOSFidCutMinEtaArray() const   {return   fPHOSFidCutMinEta;}
95  
96    void AddPHOSFidCutMinPhiArray(TArrayF & array)  
97    {  fPHOSFidCutMinPhi  = new TArrayF(array) ; }
98    TArrayF * GetPHOSFidCutMinPhiArray() const   {return   fPHOSFidCutMinPhi;}
99    
100  
101    
102  protected:
103    
104    //Detector acceptance cuts
105    Bool_t     fEMCALFidutialCut ; // Apply fidutial cuts to EMCAL clusters
106   Bool_t     fPHOSFidutialCut ;// Apply fidutial cuts to PHOS clusters
107   Bool_t     fCTSFidutialCut ;//Apply fidutial cuts to  CTS tracks
108   
109   TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
110   TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
111   TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
112   TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
113   
114   TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
115   TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
116   TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
117   TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
118   
119   TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
120   TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
121   TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
122   TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
123
124   
125   ClassDef(AliFidutialCut,1)
126 } ;
127
128
129 #endif //ALIFIDUTIALCUT_H
130
131
132