]>
Commit | Line | Data |
---|---|---|
e1239602 | 1 | #ifndef ALIANALYSISTASKJETSHAPEGR_H |
2 | #define ALIANALYSISTASKJETSHAPEGR_H | |
3 | ||
4 | class TH1; | |
5 | class TH2; | |
6 | class TH3; | |
7 | class TH3F; | |
8 | class THnSparse; | |
9 | class TF1; | |
10 | class TLorentzVector; | |
11 | class TClonesArray; | |
12 | class TArrayI; | |
13 | class TTree; | |
14 | class TLorentzVector; | |
15 | class AliAnalysisManager; | |
16 | class AliVParticle; | |
17 | class AliJetContainer; | |
18 | ||
19 | namespace fastjet { | |
20 | class PseudoJet; | |
21 | class GenericSubtractor; | |
22 | } | |
23 | ||
24 | #include "AliAnalysisTaskEmcalJet.h" | |
25 | ||
26 | class AliAnalysisTaskJetShapeGR : public AliAnalysisTaskEmcalJet { | |
27 | public: | |
28 | ||
29 | AliAnalysisTaskJetShapeGR(); | |
30 | AliAnalysisTaskJetShapeGR(const char *name); | |
31 | virtual ~AliAnalysisTaskJetShapeGR(); | |
32 | ||
33 | void UserCreateOutputObjects(); | |
34 | void Terminate(Option_t *option); | |
35 | ||
36 | //Setters | |
37 | void SetCreateTree(Bool_t b) { fCreateTree = b ; } | |
38 | ||
39 | void SetJetContainerBase(Int_t c) { fContainerBase = c ; } | |
40 | void SetJetContainerSub(Int_t c) { fContainerSub = c ; } | |
41 | void SetJetContainerTrue(Int_t c) { fContainerTrue = c ; } | |
42 | void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; } | |
43 | void SetSingleTrackEmbedding(Bool_t b) { fSingleTrackEmb = b ; } | |
44 | ||
45 | protected: | |
46 | Bool_t RetrieveEventObjects(); | |
47 | Bool_t Run(); | |
48 | Bool_t FillHistograms(); | |
15a3ff83 | 49 | Bool_t FillTrueJets(); |
e1239602 | 50 | |
51 | AliVParticle* GetEmbeddedConstituent(AliEmcalJet *jet); | |
52 | ||
53 | Double_t CalcGR(AliEmcalJet *jet, Int_t ic); | |
15a3ff83 | 54 | Double_t CalcDeltaGR(AliEmcalJet *jet, Int_t ic, TArrayF *fNum, TArrayF *fDen);//Double_t *num, Double_t *den); |
55 | Double_t GetDeltaPhi(Double_t phi1,Double_t phi2); | |
e1239602 | 56 | |
57 | Int_t fContainerBase; // jets to be analyzed | |
58 | Int_t fContainerSub; // subtracted jets to be analyzed | |
59 | Int_t fContainerTrue; // true jets to be analyzed | |
60 | Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X | |
61 | Bool_t fSingleTrackEmb; // single track embedding | |
62 | Bool_t fCreateTree; // create output tree | |
63 | ||
64 | TTree *fTreeJetBkg; //!tree with jet and bkg variables | |
65 | TLorentzVector *fJet1Vec; // jet1(AA) vector | |
66 | TLorentzVector *fJet2Vec; // jet2(probe) vector | |
67 | TLorentzVector *fJetSubVec; // subtracted AA jet vector | |
68 | Float_t fArea; // area | |
69 | Float_t fAreaPhi; // area phi | |
70 | Float_t fAreaEta; // area eta | |
71 | Float_t fRho; // rho | |
72 | Float_t fRhoM; // rho_m | |
73 | Int_t fNConst; // N constituents in jet1 | |
74 | Int_t fMatch; // 1: matched to MC jet; 0: no match | |
15a3ff83 | 75 | Double_t fDRStep; // step width |
76 | Double_t fMaxR; // max R | |
e1239602 | 77 | |
e1239602 | 78 | TH2F **fh2PtTrueDeltaGR; //! true jet pT vs (Msub - Mtrue) |
79 | TH2F **fh2PtTrueDeltaGRRel; //! true jet pT vs (Msub - Mtrue)/Mtrue | |
80 | THnSparse **fhnGRResponse; //! Msub vs Mtrue vs PtCorr vs PtTrue | |
81 | ||
15a3ff83 | 82 | //Histos for true jets |
83 | TH1F **fh1PtTrue; //! bookkeep number of jets vs Pt | |
84 | TH3F **fh3DeltaGRNumRPtTrue; //! Numerator of DeltaGR vs R vs Pt | |
85 | TH3F **fh3DeltaGRDenRPtTrue; //! Denomerator of DeltaGR vs R vs Pt | |
86 | TH2F **fh2DeltaGRNumRPtTrue; //! Numerator of DeltaGR vs R vs Pt : filled with weights of sum | |
87 | TH2F **fh2DeltaGRDenRPtTrue; //! Denomerator of DeltaGR vs R vs Pt : filled with weights of sum | |
88 | ||
89 | //Histos for raw AA jets | |
90 | TH1F **fh1PtRaw; //! bookkeep number of jets vs Pt | |
91 | TH3F **fh3DeltaGRNumRPtRaw; //! Numerator of DeltaGR vs R vs Pt | |
92 | TH3F **fh3DeltaGRDenRPtRaw; //! Denomerator of DeltaGR vs R vs Pt | |
93 | TH2F **fh2DeltaGRNumRPtRaw; //! Numerator of DeltaGR vs R vs Pt : filled with weights of sum | |
94 | TH2F **fh2DeltaGRDenRPtRaw; //! Denomerator of DeltaGR vs R vs Pt : filled with weights of sum | |
95 | ||
96 | //Histos for raw AA jets matched to MC | |
97 | TH1F **fh1PtRawMatch; //! bookkeep number of jets vs Pt | |
98 | TH3F **fh3DeltaGRNumRPtRawMatch; //! Numerator of DeltaGR vs R vs Pt | |
99 | TH3F **fh3DeltaGRDenRPtRawMatch; //! Denomerator of DeltaGR vs R vs Pt | |
100 | TH2F **fh2DeltaGRNumRPtRawMatch; //! Numerator of DeltaGR vs R vs Pt : filled with weights of sum | |
101 | TH2F **fh2DeltaGRDenRPtRawMatch; //! Denomerator of DeltaGR vs R vs Pt : filled with weights of sum | |
102 | ||
103 | //Histos for matched jets and subtracted | |
104 | TH1F **fh1PtMatch; //! bookkeep number of jets vs Pt | |
105 | TH3F **fh3DeltaGRNumRPtMatch; //! Numerator of DeltaGR vs R vs Pt | |
106 | TH3F **fh3DeltaGRDenRPtMatch; //! Denomerator of DeltaGR vs R vs Pt | |
107 | TH2F **fh2DeltaGRNumRPtMatch; //! Numerator of DeltaGR vs R vs Pt : filled with weights of sum | |
108 | TH2F **fh2DeltaGRDenRPtMatch; //! Denomerator of DeltaGR vs R vs Pt : filled with weights of sum | |
109 | TH2F **fh2DeltaGRNumRPtTrueMatch; //! Numerator of DeltaGR vs R vs Pt : filled with weights of sum | |
110 | TH2F **fh2DeltaGRDenRPtTrueMatch; //! Denomerator of DeltaGR vs R vs Pt : filled with weights of sum | |
111 | ||
e1239602 | 112 | private: |
113 | AliAnalysisTaskJetShapeGR(const AliAnalysisTaskJetShapeGR&); // not implemented | |
114 | AliAnalysisTaskJetShapeGR &operator=(const AliAnalysisTaskJetShapeGR&); // not implemented | |
115 | ||
116 | ClassDef(AliAnalysisTaskJetShapeGR, 1) | |
117 | }; | |
118 | #endif | |
119 | ||
120 | ||
121 |