]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/AliAnalysisTaskJetProperties.h
add setters
[u/mrichter/AliRoot.git] / PWGJE / AliAnalysisTaskJetProperties.h
1 // *************************************************************************************
2 // * Task for Jetproperties and jet shape analysis in PWG4 Jet Task Force Train for pp *
3 // *************************************************************************************
4
5 #ifndef ALIANALYSISTASKJETPROPERTIES_H
6 #define ALIANALYSISTASKJETPROPERTIES_H
7
8 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
9  * See cxx source for full Copyright notice                               */
10
11 /* $Id$ */
12
13 class AliESDEvent;
14 class AliAODEvent;
15 class AliAODExtension;
16 class TList;
17 class TH1F;
18 class TH2F;
19 class TH3F;
20 class TProfile;
21 class THnSparse; 
22 class TRandom3;
23 class TArrayS;
24
25 #include "AliAnalysisTaskSE.h"
26
27 class AliAnalysisTaskJetProperties : public AliAnalysisTaskSE {
28   
29  public:
30   AliAnalysisTaskJetProperties(); 
31   AliAnalysisTaskJetProperties(const char *name);
32   virtual ~AliAnalysisTaskJetProperties();
33   
34   virtual Bool_t Notify();
35   virtual void   UserCreateOutputObjects();
36   virtual void   Init();
37   virtual void   UserExec(Option_t *option);
38   virtual void   Terminate(Option_t* );
39   
40   virtual void   SetJetBranch(const char* c){fBranchJets = c;}
41   virtual void   SetNonStdFile(char* c){fNonStdFile = c;}
42   virtual void   SetTrackType(Int_t i){fTrackType = i;}
43   virtual void   SetEventCuts(Float_t VtxZ=10.,Int_t nContributors=2)
44   {fMaxVertexZ = VtxZ; fNContributors = nContributors;}
45   virtual void   SetTrackCuts(Float_t trackPt = 0.15, Float_t trackEtaMin = -0.9, Float_t trackEtaMax = 0.9)
46   {fTrackPtCut = trackPt; fTrackEtaMin = trackEtaMin; fTrackEtaMax = trackEtaMax;}
47   virtual void   SetJetCuts(Float_t jetPt = 5., Float_t jetEtaMin = -0.5, Float_t jetEtaMax = 0.5) 
48   {fJetPtCut = jetPt; fJetEtaMin = jetEtaMin; fJetEtaMax = jetEtaMax;}
49   virtual void   SetJetRejectType(Int_t i){fJetRejectType = i;}
50   virtual void   SetFilterMask(UInt_t i) {fFilterMask = i;}
51   virtual void   UsePhysicsSelection(Bool_t b) {fUsePhysicsSelection = b;}
52   virtual void   SetJetRadius(Float_t r){fJetRadius = r;}
53   
54   enum {kTrackUndef=0, kTrackAOD, kTrackKine,kTrackAODMC};//for track selection
55   enum {kNoReject=0, kReject1Track};//for jet rejection
56   
57  protected:
58   Int_t    GetListOfJetTracks(TList* l, const AliAODJet* j);
59   Int_t    GetListOfJets(TList* list);
60   void     FillJetProperties(TList *jetlist);
61   void     FillJetShape(TList *jetlist);
62   void     FillJetShapeUE(TList *jetlist);
63   void     GetTracksTiltedwrpJetAxis(Float_t alpha, TList* inputlist, TList* outputlist, const AliAODJet* jet, Double_t radius,Double_t& sumPt);
64   Int_t    GetListOfTracks(TList *list, Int_t type);
65   
66   AliESDEvent*     fESD;          // ESD event
67   AliAODEvent*     fAOD;          // AOD event
68   AliAODEvent*     fAODJets;      // AOD event with jet branch (case we have AOD both in input and output)
69   AliAODExtension* fAODExtension; //! where we take the jets from can be input or output AOD
70   //AliMCEvent*  fMCEvent;  // MC event
71   
72   TString fNonStdFile;          // name of delta aod file to catch the extension
73   TString fBranchJets;          // branch name for reconstructed jets
74   Int_t   fTrackType;           // type of generated tracks
75   Int_t   fJetRejectType;       // type of jets rejected
76   Bool_t  fUseAODInputJets;     // take jets from in/output - only relevant if AOD event both in input AND output and we want to use output
77   UInt_t  fFilterMask;          // filter bit for selected tracks
78   Bool_t  fUsePhysicsSelection; // switch for event selection
79   Float_t fMaxVertexZ;          // maximum abs(z) position of primiary vertex [cm]
80   Int_t   fNContributors;       // contributors to primary vertex
81   // track cuts
82   Float_t fTrackPtCut;          // track transverse momentum cut
83   Float_t fTrackEtaMin;         // track eta cut
84   Float_t fTrackEtaMax;         // track eta cut
85   // jet cuts
86   Float_t fJetPtCut;            // jet transverse momentum cut
87   Float_t fJetEtaMin;           // jet eta cut
88   Float_t fJetEtaMax;           // jet eta cut
89   Float_t fAvgTrials;           // average number of trials per event
90   Float_t fJetRadius;
91   
92   TList     *fJetList;                //! List of jets
93   TList     *fTrackList;              //! List of selected tracks
94   TList     *fTrackListUE;            //! List of tracks in jet cone UE
95   TList     *fTrackListJet;           //! List of tracks in a jet
96   TList     *fCommonHistList;         //! List of common histos
97   TH1F      *fh1EvtSelection;         //! event cuts 
98   TH1F      *fh1VertexNContributors;  //! NContributors to prim vertex
99   TH1F      *fh1VertexZ;              //! prim vertex z distribution
100   TProfile  *fh1Xsec;                 //! pythia cross section and trials
101   TH1F*     fh1Trials;                //! sum of trials
102   TH1F*     fh1PtHard;                //! pt hard of the event
103   TH1F*     fh1PtHardTrials;          //! pt hard of the event
104  
105   TH2F*     fh2EtaJet;                //!jet eta distribution
106   TH2F*     fh2PhiJet;                //!jet phi distribution
107   TH2F*     fh2PtJet;                 //!jet pt distribution
108   TH1F*     fh1PtJet;                 //!jet pt distribution 1D
109   TH2F*     fh2NtracksJet;            //!number of tracks in jet
110   TProfile* fProNtracksJet;           //!number of tracks in jet
111   TH2F*     fh2EtaTrack;              //!track eta distribution
112   TH2F*     fh2PhiTrack;              //!track phi distribution
113   TH2F*     fh2PtTrack;               //!track pt distribution
114   TH2F*     fh2FF;                    //!fragmentation function
115   TH2F*     fh2DelEta;                //!delta eta distribution
116   TH2F*     fh2DelPhi;                //!delta phi distribution
117   TH2F*     fh2DelR;                  //!delta R distribution
118   
119   TH1F*     fh1PtLeadingJet;          //!highest jet pt
120   TH2F*     fh2NtracksLeadingJet;     //!number of tracks in jet
121   TProfile* fProNtracksLeadingJet;    //!number of tracks in jet
122   TH2F*     fh2DelR80pcNch;           //!R containing 80% of Nch vs jet pt
123   TProfile* fProDelR80pcNch;          //!R containing 80% of Nch vs jet pt
124   TH2F*     fh2DelR80pcPt;            //!R containing 80% of pT vs jet pt
125   TProfile* fProDelR80pcPt;           //!R containing 80% of pT vs jet pt
126   TH2F*     fh2AreaCh;                //!charged jet area vs jet pT
127   TProfile* fProAreaCh;               //!charged jet area vs jet pT
128   TH3F*     fh3PtDelRNchSum;          //!Nch sum vs R
129   TH3F*     fh3PtDelRPtSum;           //!Pt sum vs R
130   TProfile* fProDiffJetShape;         //!Diff jet shape pT=20-100
131   TProfile* fProIntJetShape;          //!Int jet shape pT=20-100
132   TProfile* fProDelRNchSum[13];        //!Nch sum vs R
133   TProfile* fProDelRPtSum[13];         //!Pt sum vs R
134   TProfile* fProDiffJetShapeA[13];     //!Diff jet shape pT
135   TProfile* fProIntJetShapeA[13];      //!Int jet shape pT
136
137   TH1F*     fh1PtSumInJetConeUE;        //!pt sum of UE in cone R
138   TH2F*     fh2NtracksLeadingJetUE;     //!number of tracks in jet (UE)
139   TProfile* fProNtracksLeadingJetUE;    //!number of tracks in jet (UE)
140   TH2F*     fh2DelR80pcNchUE;           //!R containing 80% of Nch vs jet pt (UE)
141   TProfile* fProDelR80pcNchUE;          //!R containing 80% of Nch vs jet pt (UE)
142   TH2F*     fh2DelR80pcPtUE;            //!R containing 80% of pT vs jet pt (UE)
143   TProfile* fProDelR80pcPtUE;           //!R containing 80% of pT vs jet pt (UE)
144   TH2F*     fh2AreaChUE;                //!charged jet area vs jet pT (UE)
145   TProfile* fProAreaChUE;               //!charged jet area vs jet pT (UE)
146   TH3F*     fh3PtDelRNchSumUE;          //!Nch sum vs R (UE)
147   TH3F*     fh3PtDelRPtSumUE;           //!Pt sum vs R (UE)
148   TProfile* fProDiffJetShapeUE;         //!Diff jet shape pT=20-100 (UE)
149   TProfile* fProIntJetShapeUE;          //!Int jet shape pT=20-100 (UE)
150   TProfile* fProDelRNchSumUE[13];        //!Nch sum vs R (UE)
151   TProfile* fProDelRPtSumUE[13];         //!Pt sum vs R (UE)
152   TProfile* fProDiffJetShapeAUE[13];     //!Diff jet shape pT (UE)
153   TProfile* fProIntJetShapeAUE[13];      //!Int jet shape pT (UE)
154   
155
156   AliAnalysisTaskJetProperties(const AliAnalysisTaskJetProperties&);// not implemented
157   AliAnalysisTaskJetProperties& operator=(const AliAnalysisTaskJetProperties&);// not implemented
158   ClassDef(AliAnalysisTaskJetProperties, 2);
159 };
160
161 #endif