]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/AliConversionTrackCuts.h
Add sigma2 jet shape and fill constituent info. for subtracted jets
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliConversionTrackCuts.h
1 #ifndef ALICONVERSIONTRACKCUTS_H
2 #define ALICONVERSIONTRACKCUTS_H
3
4 // Class handling all kinds of selection cuts for Gamma Conversion analysis
5 // Authors: (this code is mostly copied from AliRsnTrackQuality) adapted by Svein Lindal        *
6
7 class TH2F;
8 class AliESDtrackCuts;
9 class TList;
10 class AliVEvent;
11 class THn;
12 #include "AliAODTrack.h"
13 #include "AliESDtrack.h"
14 #include "AliAnalysisCuts.h"
15
16 using namespace std;
17
18 class AliConversionTrackCuts : public AliAnalysisCuts {
19         
20 public:
21   
22   enum CTCuts_t {
23     kPreCut = 0,
24     kCutNcls,
25     kCutNclsFrac,
26     kCutNDF,
27     kCutKinc,
28     kCutDCAZ,
29     kCutDCAXY,
30     kCutTPCRefit,
31     kNCuts
32   };
33
34   //  enum trackVal {
35   //    kPt = 0, 
36   //    kPhi,
37   //    kEta,
38   //    kNVar
39   //  };
40   static const char * fgkCutNames[kNCuts];
41
42   Bool_t IsSelected(TObject * object ); 
43   Bool_t IsSelected(TList * /*list*/) { return kFALSE; }
44   Bool_t AcceptTrack(AliAODTrack * track);
45   Bool_t AcceptTrack(AliESDtrack * track);
46   Bool_t GetDCA(const AliAODTrack * track, Double_t dca[2]);
47   Bool_t GetDCA(const AliESDtrack * track, Double_t dca[2]);
48
49
50   void DeleteTracks() { fOwnedTracks.Delete(); }
51   void FillDCAHist(Float_t dcaz, Float_t dcaxy, AliVTrack * track);
52   AliConversionTrackCuts();
53   AliConversionTrackCuts(TString name, TString title);
54   ~AliConversionTrackCuts();
55   
56   void      SetEsdTrackCuts(AliESDtrackCuts * trackcuts) { fEsdTrackCuts = trackcuts; }
57   void      SetDCAZmax(Double_t value)  { fDCAZmax = value*value; }
58   void      SetDCAXYmax(Double_t value) { fDCAXYmax = value*value; }
59   void      SetFilterBit(Int_t value)   { fFilterBit = value; }
60   void      SetEvent(AliVEvent * event)  { fEvent = event; }
61   void      CreateTrackEff(Bool_t create = kTRUE) { fkCreateTrackEff = create; }
62
63   TList * CreateHistograms();
64   void FillHistograms(Int_t cutIndex, AliVTrack * track);
65   virtual void   Print(const Option_t *option = "") const;
66
67 protected :
68
69   void DefineESDCuts();
70
71
72   AliESDtrackCuts * fEsdTrackCuts; //main cut
73   AliESDtrackCuts * fEsdTrackCutsExtra1; //global tracks cut
74   AliESDtrackCuts * fEsdTrackCutsExtra2; //others
75   
76   AliVEvent * fEvent;
77
78
79
80   Int_t fFilterBit;
81   
82   Double_t fDCAZmax;                // maximum value for longitudinal DCA
83   Double_t fDCAXYmax;                  // maximum xy value for dca
84   
85   TObjArray fOwnedTracks;
86
87   Bool_t fInitialized;
88
89   TH2F * fhPhi;
90   //TH2F * fhPt;
91   //TH2F * fhPhiPt;
92   TH2F * fhdcaxyPt;
93   TH2F * fhdcazPt;
94   TH2F * fhdca;
95   TH2F * fhnclpt;
96   TH2F * fhnclsfpt;
97   TH2F * fhEtaPhi;
98   THn  * fhTrackEff;
99   Bool_t fkCreateTrackEff;
100
101   TList * fHistograms;
102
103   AliConversionTrackCuts(const AliConversionTrackCuts&); // not implemented
104   AliConversionTrackCuts& operator=(const AliConversionTrackCuts&); // not implemented
105
106   ClassDef(AliConversionTrackCuts,5)
107 };
108
109 #endif