1 #ifndef ALIANALYSISTASKJETSHAPEDERIV_H
2 #define ALIANALYSISTASKJETSHAPEDERIV_H
15 class AliAnalysisManager;
17 class AliJetContainer;
21 class GenericSubtractor;
24 #include "AliAnalysisTaskEmcalJet.h"
26 class AliAnalysisTaskJetShapeDeriv : public AliAnalysisTaskEmcalJet {
29 AliAnalysisTaskJetShapeDeriv();
30 AliAnalysisTaskJetShapeDeriv(const char *name);
31 virtual ~AliAnalysisTaskJetShapeDeriv();
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 SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
41 void SetSingleTrackEmbedding(Bool_t b) { fSingleTrackEmb = b ; }
44 Bool_t RetrieveEventObjects();
46 Bool_t FillHistograms();
48 AliVParticle* GetEmbeddedConstituent(AliEmcalJet *jet);
50 Int_t fContainerBase; // jets to be analyzed
51 Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
52 Bool_t fSingleTrackEmb; // single track embedding
53 Bool_t fCreateTree; // create output tree
55 TTree *fTreeJetBkg; //!tree with jet and bkg variables
56 TLorentzVector *fJet1Vec; // jet1(AA) vector
57 TLorentzVector *fJet2Vec; // jet2(probe) vector
58 Float_t fArea; // area
59 Float_t fAreaPhi; // area phi
60 Float_t fAreaEta; // area eta
62 Float_t fRhoM; // rho_m
63 Int_t fNConst; // N constituents in jet1
64 Float_t fM1st; // 1st order subtracted jet mass
65 Float_t fM2nd; // 2nd order subtracted jet mass
66 Float_t fDeriv1st; // 1st derivative
67 Float_t fDeriv2nd; // 2nd derivative
68 Int_t fMatch; // 1: matched to MC jet; 0: no match
70 TH2F **fh2MSubMatch; //! subtracted jet mass vs match index (0: no match; 1:match)
71 TH2F **fh2MSubPtRawAll; //! subtracted jet mass vs subtracted jet pT
72 TH2F **fh2MSubPtRawMatch; //! subtracted jet mass vs subtracted jet pT for matched jets
73 TH2F **fh2MSubPtTrue; //! subtracted jet mass vs true jet pT for matched jets
74 TH2F **fh2MTruePtTrue; //! true jet mass vs true jet pT for matched jets
75 TH2F **fh2PtTrueDeltaM; //! true jet pT vs (Msub - Mtrue)
76 TH2F **fh2PtTrueDeltaMRel; //! true jet pT vs (Msub - Mtrue)/Mtrue
77 THnSparse **fhnMassResponse; //! Msub vs Mtrue vs PtCorr vs PtTrue
79 TH2F **fh2PtTrueSubFacV1; //! true pT vs -(rho+rhom)*V1
80 TH2F **fh2PtRawSubFacV1; //! raw pT vs -(rho+rhom)*V1
81 TH2F **fh2PtCorrSubFacV1; //! subtracted pT vs -(rho+rhom)*V1
82 TH2F **fh2NConstSubFacV1; //! N constituents vs -(rho+rhom)*V1
83 TH2F **fh2PtTrueSubFacV2; //! true pT vs 0.5(rho+rhom)^2*V2
84 TH2F **fh2PtRawSubFacV2; //! raw pT vs 0.5(rho+rhom)^2*V2
85 TH2F **fh2PtCorrSubFacV2; //! subtracted pT vs 0.5(rho+rhom)^2*V2
86 TH2F **fh2NConstSubFacV2; //! N constituents vs 0.5(rho+rhom)^2*V2
89 AliAnalysisTaskJetShapeDeriv(const AliAnalysisTaskJetShapeDeriv&); // not implemented
90 AliAnalysisTaskJetShapeDeriv &operator=(const AliAnalysisTaskJetShapeDeriv&); // not implemented
92 ClassDef(AliAnalysisTaskJetShapeDeriv, 1)