]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetMassResponse.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetMassResponse.h
1 #ifndef ALIANALYSISTASKEMCALJETMASSRESPONSE_H
2 #define ALIANALYSISTASKEMCALJETMASSRESPONSE_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 #include "AliAnalysisTaskEmcalJet.h"
20
21 class AliAnalysisTaskEmcalJetMassResponse : public AliAnalysisTaskEmcalJet {
22  public:
23
24   AliAnalysisTaskEmcalJetMassResponse();
25   AliAnalysisTaskEmcalJetMassResponse(const char *name);
26   virtual ~AliAnalysisTaskEmcalJetMassResponse();
27
28   void                                UserCreateOutputObjects();
29   void                                Terminate(Option_t *option);
30
31   //Setters
32   void SetCreateTree(Bool_t b)                                  { fCreateTree        = b   ; }
33
34   void SetJetContainerBase(Int_t c)                             { fContainerBase     = c   ; }
35   void SetMinFractionShared(Double_t f)                         { fMinFractionShared = f   ; }
36   void SetJetMassAverageFunc(TF1 *f)                            { f1JetMassAvg       = f   ; }
37   void SetSingleTrackEmbedding(Bool_t b)                        { fSingleTrackEmb    = b   ; }
38   void SetSubtractMasslessParticleJet(Bool_t b)                 { fSubtractMassless  = b   ; }
39
40  protected:
41   Bool_t                              RetrieveEventObjects();
42   Bool_t                              Run();
43   Bool_t                              FillHistograms();
44
45   TLorentzVector                      GetSubtractedVector(AliEmcalJet *jet);
46   TLorentzVector                      GetSubtractedVectorCheat(AliEmcalJet *jet);
47   TLorentzVector                      GetBkgVector(AliEmcalJet *jet, AliJetContainer *cont);
48   TLorentzVector                      GetBkgVectorCheat(AliEmcalJet *jet);
49   Double_t                            GetJetMass(AliEmcalJet *jet);
50   Double_t                            GetJetMassMasslessConstituents(AliEmcalJet *jet);
51   AliVParticle*                       GetEmbeddedConstituent(AliEmcalJet *jet);
52
53   Int_t                               fContainerBase;              // jets to be analyzed
54   Double_t                            fMinFractionShared;          // only fill histos for jets if shared fraction larger than X
55   TF1                                *f1JetMassAvg;                // parametrization of average jet mass
56   Bool_t                              fSingleTrackEmb;             // single track embedding
57   Bool_t                              fSubtractMassless;           // subtract mass of jet assuming massless particles
58   Bool_t                              fCreateTree;                 // create output tree
59
60   TH2F            **fh2PtJet1DeltaMNoSub;                          //!pt jet1 vs delta-pt vs delta-M
61   TH2F            **fh2PtJet2DeltaMNoSub;                          //!pt jet2 vs delta-pt vs delta-M
62
63   TH3F            **fh3PtJet1DeltaPtDeltaMCheat;                   //!pt jet1 vs delta-pt vs delta-M
64   TH3F            **fh3PtJet2DeltaPtDeltaMCheat;                   //!pt jet2 vs delta-pt vs delta-M
65
66   TH3F            **fh3PtJet1DeltaPtDeltaM;                        //!pt jet1 vs delta-pt vs delta-M
67   TH3F            **fh3PtJet2DeltaPtDeltaM;                        //!pt jet2 vs delta-pt vs delta-M
68   TH2F            **fh2PtJet1DeltaE;                               //!pt jet1 vs delta-E
69   TH2F            **fh2PtJet2DeltaE;                               //!pt jet2 vs delta-E
70   TH2F            **fh2PtJet1DeltaP;                               //!pt jet1 vs delta-P
71   TH2F            **fh2PtJet2DeltaP;                               //!pt jet2 vs delta-P
72   TH2F            **fh2PtJet2DeltaM;                               //!pt jet2 vs delta-M
73   TH3F            **fh3PtJet1MJet1MJet2;                           //!pt jet1 vs jet mass jet1 vs jet mass jet2
74   TH3F            **fh3PtJet2MJet1MJet2;                           //!pt jet2 vs jet mass jet1 vs jet mass jet2
75
76   TH3F            **fh3PtJet1DeltaPtDeltaMRho;                     //!pt jet1 vs delta-pt vs delta-M
77   TH2F            **fh2PtJet1DeltaERho;                            //!pt jet1 vs delta-E
78   TH3F            **fh3PtJet2DeltaPtDeltaMRho;                     //!pt jet2 vs delta-pt vs delta-M
79   TH2F            **fh2PtJet2DeltaPxRho;                           //!pt jet2 vs delta-px
80   TH2F            **fh2PtJet2DeltaPyRho;                           //!pt jet2 vs delta-py
81   TH2F            **fh2PtJet2DeltaPzRho;                           //!pt jet2 vs delta-pz
82   TH2F            **fh2PtJet2DeltaERho;                            //!pt jet2 vs delta-E
83   TH2F            **fh2PtJet2DeltaMRho;                            //!pt jet2 vs delta-M
84   TH2F            **fh2PtJet2DeltaPtRho;                           //!pt jet2 vs delta-pT
85   TH3F            **fh3PtJet2DeltaEDeltaMRho;                      //!pt jet2 vs delta-E vs delta-M
86   TH3F            **fh3PtJet2DeltaPDeltaMRho;                      //!pt jet2 vs delta-P vs delta-M
87
88   TH2F            **fh2PtJet1DeltaPtVecSub;                        //!pt jet1 (AA) vs delta pT while using vector subtraction
89
90   TTree           *fTreeJetBkg;                                    //!tree with jet and bkg variables
91   TLorentzVector  *fJet1Vec;                                       // jet1(AA) vector  
92   TLorentzVector  *fJet2Vec;                                       // jet2(probe) vector
93   TLorentzVector  *fBkgVec;                                        // bkg vector
94   Float_t         fArea;                                           // area
95   Float_t         fAreaPhi;                                        // area phi
96   Float_t         fAreaEta;                                        // area eta
97   Float_t         fRho;                                            // rho
98   Float_t         fRhoM;                                           // rho_m
99   Int_t           fNConst;                                         // N constituents in jet1
100   Float_t         fJetMassMassless;                                // jet mass for massless constituents
101
102  private:
103   AliAnalysisTaskEmcalJetMassResponse(const AliAnalysisTaskEmcalJetMassResponse&);            // not implemented
104   AliAnalysisTaskEmcalJetMassResponse &operator=(const AliAnalysisTaskEmcalJetMassResponse&); // not implemented
105
106   ClassDef(AliAnalysisTaskEmcalJetMassResponse, 1)
107 };
108 #endif
109