]>
Commit | Line | Data |
---|---|---|
ad869500 | 1 | #ifndef ALIANALYSISTASKJETCOREPP_H |
2 | #define ALIANALYSISTASKJETCOREPP_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // ************************************** | |
8 | // This task performs hadron-trigger recoil jet correlations | |
9 | // Output pT spectrum of jet given trigger pT | |
10 | // Author: filip krizek 1st March 2013 | |
11 | // ******************************************* | |
12 | ||
13 | class TH1F; | |
14 | class TH1D; | |
15 | class TH1I; | |
16 | class TH2F; | |
17 | class TH3F; | |
80ac66f6 | 18 | class TList; |
ad869500 | 19 | class THnSparse; |
80ac66f6 | 20 | class TArrayI; |
ea603b64 | 21 | class TProfile; |
22 | class TFile; | |
23 | class TKey; | |
ad869500 | 24 | class AliESDEvent; |
25 | class AliAODExtension; | |
26 | class AliAODEvent; | |
ea603b64 | 27 | class AliGenPythiaEventHeader; |
ad869500 | 28 | |
29 | #include "AliAnalysisTaskSE.h" | |
30 | #include "AliVEvent.h" | |
31 | ||
32 | class AliAnalysisTaskJetCorePP : public AliAnalysisTaskSE { | |
33 | public: | |
34 | AliAnalysisTaskJetCorePP(); | |
35 | AliAnalysisTaskJetCorePP(const char *name); | |
36 | AliAnalysisTaskJetCorePP(const AliAnalysisTaskJetCorePP& a); | |
37 | AliAnalysisTaskJetCorePP& operator=(const AliAnalysisTaskJetCorePP& a); // not implemented | |
38 | virtual ~AliAnalysisTaskJetCorePP(); | |
39 | virtual void LocalInit() {Init();} | |
40 | virtual void Init(); | |
41 | virtual void UserCreateOutputObjects(); | |
42 | virtual void UserExec(Option_t *option); | |
43 | virtual void Terminate(const Option_t*); | |
ea603b64 | 44 | virtual Bool_t Notify(); |
ad869500 | 45 | |
46 | virtual void SetBranchName(const TString &name){ fJetBranchName = name; } | |
80ac66f6 | 47 | virtual void SetBranchNameMC(const TString &name){ fJetBranchNameMC = name; } |
ad869500 | 48 | virtual void SetNonStdFile(char* c){fNonStdFile = c;} |
49 | virtual void SetSystem(Int_t sys) { fSystem = sys; } | |
50 | virtual void SetJetR(Float_t jR) { fJetParamR = jR; } | |
51 | virtual void SetOfflineTrgMask(AliVEvent::EOfflineTriggerTypes mask) { fOfflineTrgMask = mask; } | |
52 | virtual void SetMinContribVtx(Int_t n) { fMinContribVtx = n; } | |
53 | virtual void SetVtxZMin(Float_t z) { fVtxZMin = z; } | |
54 | virtual void SetVtxZMax(Float_t z) { fVtxZMax = z; } | |
55 | virtual void SetFilterMask(UInt_t i){fFilterMask = i;} | |
56 | virtual void SetCentMin(Float_t cent) { fCentMin = cent; } | |
57 | virtual void SetCentMax(Float_t cent) { fCentMax = cent; } | |
58 | virtual void SetJetEtaMin(Float_t eta) { fJetEtaMin = eta; } | |
59 | virtual void SetJetEtaMax(Float_t eta) { fJetEtaMax = eta; } | |
60 | virtual void SetTriggerEtaCut(Float_t eta) { fTriggerEtaCut = eta; } | |
61 | virtual void SetTrackEtaCut(Float_t eta) { fTrackEtaCut = eta; } | |
62 | virtual void SetTrackLowPtCut(Float_t pt) { fTrackLowPtCut=pt; } | |
63 | ||
64 | Double_t RelativePhi(Double_t angle1, Double_t angle2); | |
65 | ||
66 | private: | |
67 | //private member functions | |
68 | Int_t GetListOfTracks(TList *list); //returns index of trig and track list | |
80ac66f6 | 69 | //Double_t GetBackgroundInPerpCone(Float_t jetR, Double_t jetPhi, Double_t jetEta, TList* trkList); //sums pT in the cone perp in phi to jet |
70 | Bool_t SelectMCGenTracks(AliVParticle *trk, TList *trkList, Double_t &ptLeading, Int_t &index, Int_t counter); | |
71 | void FillEffHistos(TList *recList, TList *genList); | |
72 | ||
ad869500 | 73 | //private member objects |
74 | AliESDEvent *fESD; //! ESD object | |
75 | AliAODEvent *fAODIn; //! AOD event for AOD input tracks | |
76 | AliAODEvent *fAODOut; //! AOD event | |
77 | AliAODExtension *fAODExtension; //! where we take the jets from can be input or output AOD | |
78 | ||
79 | // jets to compare | |
80 | TString fJetBranchName; // name of jet branch | |
80ac66f6 | 81 | TString fJetBranchNameMC; // name of jet branch |
82 | TList *fListJets; //! jet list reconstructed level | |
83 | TList *fListJetsGen; //! jet list generator level | |
ad869500 | 84 | |
85 | TString fNonStdFile; // name of delta aod file to catch the extension | |
86 | ||
87 | // event selection | |
88 | Int_t fSystem; // collision system pp=0, pPb=1 | |
89 | Float_t fJetParamR; // jet cone resolution (radius) R | |
90 | AliVEvent::EOfflineTriggerTypes fOfflineTrgMask; // mask of offline trigs | |
91 | Int_t fMinContribVtx; // min numb of trk contrib for prim vertex | |
92 | Float_t fVtxZMin; // lower bound on vertex z | |
93 | Float_t fVtxZMax; // upper bound on vertex z | |
94 | UInt_t fFilterMask; // filter bit for slected tracks | |
95 | Float_t fCentMin; // lower bound on centrality | |
96 | Float_t fCentMax; // upper bound on centrality | |
97 | Float_t fJetEtaMin; // lower bound on eta for found jets | |
98 | Float_t fJetEtaMax; // upper bound on eta for found jets | |
99 | Float_t fTriggerEtaCut; // lower bound on eta for trigger track | |
100 | Float_t fTrackEtaCut; // upper bound on eta for trigger track | |
101 | Float_t fTrackLowPtCut; // upper bound on eta for trigger track | |
102 | ||
103 | ||
104 | TList *fOutputList; //! output data container | |
105 | TH1I *fHistEvtSelection; //! event selection statistic | |
106 | TH2F *fh2Ntriggers; //trigger pT versus centrality | |
107 | THnSparse *fHJetSpec; //Recoil jet spectrum | |
108 | ||
109 | //Diagnostics | |
110 | THnSparse *fHJetDensity; //density of jet with A>0.07 //fk | |
111 | THnSparse *fHJetDensityA4; //density of jets with A>0.4 //fk | |
7fc3d134 | 112 | TH2D *fhJetPhi; //Azimuthal distribution of jets |
113 | TH2D *fhTriggerPhi; //Azimuthal distribution of trigger hadron | |
114 | TH2D *fhJetEta; //Pseudorapidity distribution of jets | |
115 | TH2D *fhTriggerEta; //Pseudorapidity distribution of trigger hadron | |
ad869500 | 116 | TH1D *fhVertexZ; //z vertex distribution |
117 | TH1D *fhVertexZAccept; //z vertex distribution after cut | |
118 | TH1D *fhContribVtx; //contributors to vertex | |
119 | TH1D *fhContribVtxAccept; //contributors to vertex after cut | |
120 | TH1D *fhDphiTriggerJet; //Deltaphi between trigger and jet | |
121 | TH1D *fhDphiTriggerJetAccept; //Deltaphi between trigger and jet after cut | |
122 | TH1D *fhCentrality; //Deltaphi between trigger and jet | |
123 | TH1D *fhCentralityAccept; //Deltaphi between trigger and jet after cut | |
124 | ||
7fc3d134 | 125 | THnSparse *fHJetPtRaw; //bg unsubtr. vs bg subtr. pT spectrum of jets vs jet area |
126 | THnSparse *fHLeadingJetPtRaw; //bg unsubtr. vs bg. subtr. leading jet pT vs area | |
127 | THnSparse *fHDphiVsJetPtAll; //Dphitrigger-jet versus jet pt for all jets given pTtrigg | |
7fc3d134 | 128 | |
80ac66f6 | 129 | //MC generator level |
130 | TH2D *fhJetPtGenVsJetPtRec; //jet respose matrix | |
131 | TH1D *fhJetPtGen; //generated pT spectrum of jets | |
132 | TH2F *fh2NtriggersGen; //trigger pT versus centrality in generator level | |
133 | THnSparse *fHJetSpecGen; //Recoil jet spectrum in generator level | |
134 | TH2D *fhPtTrkTruePrimRec; // pt spectrum of true reconstructed primary tracks | |
135 | TH2D *fhPtTrkTruePrimGen; // pt spectrum of true generated primary track | |
136 | TH2D *fhPtTrkSecOrFakeRec; // pt spectrum of reconstructed fake or secondary tracks | |
137 | ||
138 | Bool_t fIsMC; //flag analysis on MC data with true and on the real data false | |
139 | TArrayI faGenIndex; // labels of particles on MC generator level | |
140 | TArrayI faRecIndex; // labels of particles on reconstructed track level | |
ad869500 | 141 | const Double_t fkAcceptance; //eta times phi Alice coverage |
80ac66f6 | 142 | const Double_t fkDeltaPhiCut; //Delta phi cut on trigger-jet distance in azimuth |
ea603b64 | 143 | |
144 | TProfile* fh1Xsec; //! pythia cross section and trials | |
145 | TH1F* fh1Trials; //! trials are added | |
146 | TH1F* fh1AvgTrials; //! trials are added | |
147 | TH1F* fh1PtHard; //! Pt har of the event... | |
148 | TH1F* fh1PtHardNoW; //! Pt har of the event without weigt | |
149 | TH1F* fh1PtHardTrials; //! Number of trials | |
150 | Float_t fAvgTrials; // Average number of trials | |
151 | ||
152 | ClassDef(AliAnalysisTaskJetCorePP, 4); //has to end with number larger than 0 | |
ad869500 | 153 | }; |
154 | ||
155 | #endif | |
156 |