1 #ifndef ALIANALYSISTASKJETSHAPEGR_H
2 #define ALIANALYSISTASKJETSHAPEGR_H
15 class AliAnalysisManager;
17 class AliJetContainer;
21 class GenericSubtractor;
24 #include "AliAnalysisTaskEmcalJet.h"
26 class AliAnalysisTaskJetShapeGR : public AliAnalysisTaskEmcalJet {
29 AliAnalysisTaskJetShapeGR();
30 AliAnalysisTaskJetShapeGR(const char *name);
31 virtual ~AliAnalysisTaskJetShapeGR();
33 void UserCreateOutputObjects();
34 void Terminate(Option_t *option);
37 void SetCreateTree(Bool_t b) { fCreateTree = b ; }
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 ; }
46 Bool_t RetrieveEventObjects();
48 Bool_t FillHistograms();
49 Bool_t FillTrueJets();
51 AliVParticle* GetEmbeddedConstituent(AliEmcalJet *jet);
53 Double_t CalcGR(AliEmcalJet *jet, Int_t ic);
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);
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
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
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
75 Double_t fDRStep; // step width
76 Double_t fMaxR; // max R
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
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
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
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
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
113 AliAnalysisTaskJetShapeGR(const AliAnalysisTaskJetShapeGR&); // not implemented
114 AliAnalysisTaskJetShapeGR &operator=(const AliAnalysisTaskJetShapeGR&); // not implemented
116 ClassDef(AliAnalysisTaskJetShapeGR, 1)