]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeConst.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskJetShapeConst.h
1 #ifndef ALIANALYSISTASKJETSHAPECONST_H
2 #define ALIANALYSISTASKJETSHAPECONST_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 AliAnalysisTaskJetShapeConst : public AliAnalysisTaskEmcalJet {
27  public:
28
29   AliAnalysisTaskJetShapeConst();
30   AliAnalysisTaskJetShapeConst(const char *name);
31   virtual ~AliAnalysisTaskJetShapeConst();
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 SetMinFractionShared(Double_t f)                         { fMinFractionShared = f   ; }
42   void SetSingleTrackEmbedding(Bool_t b)                        { fSingleTrackEmb    = b   ; }
43
44  protected:
45   Bool_t                              RetrieveEventObjects();
46   Bool_t                              Run();
47   Bool_t                              FillHistograms();
48
49   AliVParticle*                       GetEmbeddedConstituent(AliEmcalJet *jet);
50
51   Int_t                               fContainerBase;              // jets to be analyzed
52   Int_t                               fContainerSub;               // subtracted jets to be analyzed
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
56
57   TTree           *fTreeJetBkg;                                    //!tree with jet and bkg variables
58   TLorentzVector  *fJet1Vec;                                       // jet1(AA) vector  
59   TLorentzVector  *fJet2Vec;                                       // jet2(probe) vector
60   TLorentzVector  *fJetSubVec;                                     // subtracted AA jet vector
61   Float_t         fArea;                                           // area
62   Float_t         fAreaPhi;                                        // area phi
63   Float_t         fAreaEta;                                        // area eta
64   Float_t         fRho;                                            // rho
65   Float_t         fRhoM;                                           // rho_m
66   Int_t           fNConst;                                         // N constituents in jet1
67   Int_t           fMatch;                                          // 1: matched to MC jet; 0: no match
68
69   TH2F          **fh2MSubMatch;                                    //! subtracted jet mass vs match index (0: no match; 1:match)
70   TH2F          **fh2MSubPtRawAll;                                 //! subtracted jet mass vs subtracted jet pT
71   TH2F          **fh2MSubPtRawMatch;                               //! subtracted jet mass vs subtracted jet pT for matched jets
72   TH2F          **fh2MSubPtTrue;                                   //! subtracted jet mass vs true jet pT for matched jets
73   TH2F          **fh2MTruePtTrue;                                  //! true jet mass vs true jet pT for matched jets
74   TH2F          **fh2PtTrueDeltaM;                                 //! true jet pT vs (Msub - Mtrue)
75   TH2F          **fh2PtTrueDeltaMRel;                              //! true jet pT vs (Msub - Mtrue)/Mtrue
76   THnSparse     **fhnMassResponse;                                 //! Msub vs Mtrue vs PtCorr vs PtTrue
77
78  private:
79   AliAnalysisTaskJetShapeConst(const AliAnalysisTaskJetShapeConst&);            // not implemented
80   AliAnalysisTaskJetShapeConst &operator=(const AliAnalysisTaskJetShapeConst&); // not implemented
81
82   ClassDef(AliAnalysisTaskJetShapeConst, 1)
83 };
84 #endif
85
86
87