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