]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetMass.h
add detector response jet mass task
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetMass.h
1 #ifndef ALIANALYSISTASKEMCALJETMASS_H
2 #define ALIANALYSISTASKEMCALJETMASS_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 AliAnalysisTaskEmcalJetMass : 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   AliAnalysisTaskEmcalJetMass();
24   AliAnalysisTaskEmcalJetMass(const char *name);
25   virtual ~AliAnalysisTaskEmcalJetMass();
26
27   void                                UserCreateOutputObjects();
28   void                                Terminate(Option_t *option);
29
30   //Setters
31   void SetJetContainerBase(Int_t c)                             { fContainerBase     = c   ; }
32   void SetMinFractionShared(Double_t f)                         { fMinFractionShared = f   ; }
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                               fContainerBase;              // jets to be analyzed
43   Double_t                            fMinFractionShared;          // only fill histos for jets if shared fraction larger than X
44   JetMassType                         fJetMassType;                // jet mass type to be used
45
46   TH3F            **fh3PtJet1VsMassVsLeadPtAllSel;         //!all jets after std selection pt vs mass vs leading track pt
47   TH3F            **fh3PtJet1VsMassVsLeadPtTagged;         //!tagged jets pt vs mass vs leading track pt
48   TH3F            **fh3PtJet1VsMassVsLeadPtTaggedMatch;    //!tagged jets pt vs mass vs leading track pt matched to MC
49   TProfile        **fpPtVsMassJet1All;               //!pT vs avg mass of all jets
50   TProfile        **fpPtVsMassJet1Tagged;            //!pT vs avg mass of tagged jets
51   TProfile        **fpPtVsMassJet1TaggedMatch;       //!pT vs avg mass of tagged jets matched to MC
52   TH2F            **fh2MassVsAreaJet1All;            //!mass vs area of all jets
53   TH2F            **fh2MassVsAreaJet1Tagged;         //!mass vs area of tagged jets
54   TH2F            **fh2MassVsAreaJet1TaggedMatch;    //!mass vs area of tagged jets matched to MC
55   TH2F            **fh2MassVsNConstJet1All;          //!mass vs number of constituents of all jets
56   TH2F            **fh2MassVsNConstJet1Tagged;       //!mass vs number of constituents of tagged jets
57   TH2F            **fh2MassVsNConstJet1TaggedMatch;  //!mass vs number of constituents of tagged jets matched to MC
58   TH2F            **fh2EtMassOverEtRSq;           //!Et vs (M/Et*R)^2
59
60  private:
61   AliAnalysisTaskEmcalJetMass(const AliAnalysisTaskEmcalJetMass&);            // not implemented
62   AliAnalysisTaskEmcalJetMass &operator=(const AliAnalysisTaskEmcalJetMass&); // not implemented
63
64   ClassDef(AliAnalysisTaskEmcalJetMass, 6)
65 };
66 #endif
67