]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetMassResponseDet.h
updates jet mass detector response
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskJetMassResponseDet.h
1 #ifndef ALIANALYSISTASKJETMASSRESPONSEDET_H
2 #define ALIANALYSISTASKJETMASSRESPONSEDET_H
3
4 class TH1;
5 class TH2;
6 class TH3;
7 class TH3F;
8 class THnSparse;
9 class TClonesArray;
10 class TArrayI;
11 class AliAnalysisManager;
12 class AliJetContainer;
13
14 #include "AliAnalysisTaskEmcalJet.h"
15
16 class AliAnalysisTaskJetMassResponseDet : public AliAnalysisTaskEmcalJet {
17  public:
18   enum JetMassType {
19     kRaw   = 0,  //mass form anti-kt 4-vector
20     kDeriv = 1   //area based subtracted jet mass
21   };
22
23   AliAnalysisTaskJetMassResponseDet();
24   AliAnalysisTaskJetMassResponseDet(const char *name);
25   virtual ~AliAnalysisTaskJetMassResponseDet();
26
27   void                                UserCreateOutputObjects();
28   void                                Terminate(Option_t *option);
29
30   //Setters
31   void SetJetContainerPart(Int_t c)                             { fContainerPart     = c   ; }
32   void SetJetContainerDet(Int_t c)                              { fContainerDet      = c   ; }
33   void SetJetMassType(JetMassType t)                            { fJetMassType       = t   ; }
34
35  protected:
36   Bool_t                              RetrieveEventObjects();
37   Bool_t                              Run();
38   Bool_t                              FillHistograms();
39
40   Double_t                            GetJetMass(AliEmcalJet *jet);
41  
42   Int_t                               fContainerPart;              // particle level jets
43   Int_t                               fContainerDet;               // detector level jets
44   JetMassType                         fJetMassType;                // jet mass type to be used
45
46   TH2F            *fh2PtVsMassJetPartAll;            //!pT vs mass of all particle level jets
47   TH2F            *fh2PtVsMassJetPartMatch;          //!pT vs mass of all particle level jets matched to a detector level jet
48   TH2F            *fh2PtVsMassJetPartTagged;         //!pT vs mass of tagged particle level jets
49   TH2F            *fh2PtVsMassJetPartTaggedMatch;    //!pT vs mass of tagged particle level jets matched to a detector level jet
50   TH2F            *fh2PtVsMassJetDetAll;             //!pT vs mass of all detector level jets
51   TH2F            *fh2PtVsMassJetDetTagged;          //!pT vs mass of tagged detector level jets
52   TH2F            *fh2EtaPhiMatchedDet;              //!eta,phi of matched detector level jets
53   TH2F            *fh2EtaPhiMatchedPart;             //!eta,phi of matched particle level jets
54   THnSparse       *fhnMassResponse;                  //!response matrix
55
56  private:
57   AliAnalysisTaskJetMassResponseDet(const AliAnalysisTaskJetMassResponseDet&);            // not implemented
58   AliAnalysisTaskJetMassResponseDet &operator=(const AliAnalysisTaskJetMassResponseDet&); // not implemented
59
60   ClassDef(AliAnalysisTaskJetMassResponseDet, 2)
61 };
62 #endif
63