]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeDeriv.h
add DeltaMRel histo to JetShape ana classes
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskJetShapeDeriv.h
1 #ifndef ALIANALYSISTASKJETSHAPEDERIV_H
2 #define ALIANALYSISTASKJETSHAPEDERIV_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 AliAnalysisTaskJetShapeDeriv : public AliAnalysisTaskEmcalJet {
27  public:
28
29   AliAnalysisTaskJetShapeDeriv();
30   AliAnalysisTaskJetShapeDeriv(const char *name);
31   virtual ~AliAnalysisTaskJetShapeDeriv();
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 SetMinFractionShared(Double_t f)                         { fMinFractionShared = f   ; }
41   void SetSingleTrackEmbedding(Bool_t b)                        { fSingleTrackEmb    = b   ; }
42
43  protected:
44   Bool_t                              RetrieveEventObjects();
45   Bool_t                              Run();
46   Bool_t                              FillHistograms();
47
48   AliVParticle*                       GetEmbeddedConstituent(AliEmcalJet *jet);
49
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
54
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
61   Float_t         fRho;                                            // rho
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
69
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
78
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
87
88  private:
89   AliAnalysisTaskJetShapeDeriv(const AliAnalysisTaskJetShapeDeriv&);            // not implemented
90   AliAnalysisTaskJetShapeDeriv &operator=(const AliAnalysisTaskJetShapeDeriv&); // not implemented
91
92   ClassDef(AliAnalysisTaskJetShapeDeriv, 1)
93 };
94 #endif
95
96
97