1 #ifndef ALIANALYSISTASKJETSHAPEDERIV_H
2 #define ALIANALYSISTASKJETSHAPEDERIV_H
15 class AliAnalysisManager;
17 class AliJetContainer;
19 /* namespace fastjet { */
20 /* class PseudoJet; */
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 SetJetContainerNoEmb(Int_t c) { fContainerNoEmb = c ; }
41 void SetMinFractionShared(Double_t f) { fMinFractionShared = f ; }
42 void SetSingleTrackEmbedding(Bool_t b) { fSingleTrackEmb = b ; }
45 Bool_t RetrieveEventObjects();
47 Bool_t FillHistograms();
49 AliVParticle* GetEmbeddedConstituent(AliEmcalJet *jet);
51 Int_t fContainerBase; // jets to be analyzed
52 Int_t fContainerNoEmb; // subtracted jets from Pb-Pb only events
53 Double_t fMinFractionShared; // only fill histos for jets if shared fraction larger than X
54 Bool_t fSingleTrackEmb; // single track embedding
55 Bool_t fCreateTree; // create output tree
57 TTree *fTreeJetBkg; //!tree with jet and bkg variables
58 TLorentzVector *fJet1Vec; // jet1(AA) vector
59 TLorentzVector *fJet2Vec; // jet2(probe) vector
60 Float_t fArea; // area
61 Float_t fAreaPhi; // area phi
62 Float_t fAreaEta; // area eta
64 Float_t fRhoM; // rho_m
65 Int_t fNConst; // N constituents in jet1
66 Float_t fM1st; // 1st order subtracted jet mass
67 Float_t fM2nd; // 2nd order subtracted jet mass
68 Float_t fDeriv1st; // 1st derivative
69 Float_t fDeriv2nd; // 2nd derivative
70 Int_t fMatch; // 1: matched to MC jet; 0: no match
72 TH2F **fh2MSubMatch; //! subtracted jet mass vs match index (0: no match; 1:match)
73 TH2F **fh2MSubPtRawAll; //! subtracted jet mass vs subtracted jet pT
74 TH2F **fh2MSubPtRawMatch; //! subtracted jet mass vs subtracted jet pT for matched jets
75 TH2F **fh2MSubPtTrue; //! subtracted jet mass vs true jet pT for matched jets
76 TH2F **fh2MTruePtTrue; //! true jet mass vs true jet pT for matched jets
77 TH2F **fh2PtTrueDeltaM; //! true jet pT vs (Msub - Mtrue)
78 TH2F **fh2PtTrueDeltaMRel; //! true jet pT vs (Msub - Mtrue)/Mtrue
79 THnSparse **fhnMassResponse; //! Msub vs Mtrue vs PtCorr vs PtTrue
81 TH2F **fh2PtTrueSubFacV1; //! true pT vs -(rho+rhom)*V1
82 TH2F **fh2PtRawSubFacV1; //! raw pT vs -(rho+rhom)*V1
83 TH2F **fh2PtCorrSubFacV1; //! subtracted pT vs -(rho+rhom)*V1
84 TH2F **fh2NConstSubFacV1; //! N constituents vs -(rho+rhom)*V1
85 TH2F **fh2PtTrueSubFacV2; //! true pT vs 0.5(rho+rhom)^2*V2
86 TH2F **fh2PtRawSubFacV2; //! raw pT vs 0.5(rho+rhom)^2*V2
87 TH2F **fh2PtCorrSubFacV2; //! subtracted pT vs 0.5(rho+rhom)^2*V2
88 TH2F **fh2NConstSubFacV2; //! N constituents vs 0.5(rho+rhom)^2*V2
91 AliAnalysisTaskJetShapeDeriv(const AliAnalysisTaskJetShapeDeriv&); // not implemented
92 AliAnalysisTaskJetShapeDeriv &operator=(const AliAnalysisTaskJetShapeDeriv&); // not implemented
94 ClassDef(AliAnalysisTaskJetShapeDeriv, 2)