]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetMassResponse.h
Merge remote-tracking branch 'origin/master' into flatdev
[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 AliAnalysisManager;
14 class AliJetContainer;
15
16 #include "AliAnalysisTaskEmcalJet.h"
17
18 class AliAnalysisTaskEmcalJetMassResponse : public AliAnalysisTaskEmcalJet {
19  public:
20
21   AliAnalysisTaskEmcalJetMassResponse();
22   AliAnalysisTaskEmcalJetMassResponse(const char *name);
23   virtual ~AliAnalysisTaskEmcalJetMassResponse();
24
25   void                                UserCreateOutputObjects();
26   void                                Terminate(Option_t *option);
27
28   //Setters
29   void SetJetContainerBase(Int_t c)                             { fContainerBase     = c   ; }
30   void SetMinFractionShared(Double_t f)                         { fMinFractionShared = f   ; }
31   void SetJetMassAverageFunc(TF1 *f)                            { f1JetMassAvg       = f   ; }
32
33  protected:
34   Bool_t                              RetrieveEventObjects();
35   Bool_t                              Run();
36   Bool_t                              FillHistograms();
37
38   TLorentzVector                      GetSubtractedVector(AliEmcalJet *jet);
39   TLorentzVector                      GetSubtractedVectorCheat(AliEmcalJet *jet);
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   TF1                                *f1JetMassAvg;                // parametrization of average jet mass
45
46   TH2F            **fh2PtJet1DeltaMNoSub;                          //!pt jet1 vs delta-pt vs delta-M
47   TH2F            **fh2PtJet2DeltaMNoSub;                          //!pt jet2 vs delta-pt vs delta-M
48
49   TH3F            **fh3PtJet1DeltaPtDeltaMCheat;                   //!pt jet1 vs delta-pt vs delta-M
50   TH3F            **fh3PtJet2DeltaPtDeltaMCheat;                   //!pt jet2 vs delta-pt vs delta-M
51
52   TH3F            **fh3PtJet1DeltaPtDeltaM;                        //!pt jet1 vs delta-pt vs delta-M
53   TH3F            **fh3PtJet2DeltaPtDeltaM;                        //!pt jet2 vs delta-pt vs delta-M
54   TH3F            **fh3PtJet1MJet1MJet2;                           //!pt jet1 vs jet mass jet1 vs jet mass jet2
55   TH3F            **fh3PtJet2MJet1MJet2;                           //!pt jet2 vs jet mass jet1 vs jet mass jet2
56
57   TH2F            **fh2PtJet1DeltaPtVecSub;                        //!pt jet1 (AA) vs delta pT while using vector subtraction
58
59  private:
60   AliAnalysisTaskEmcalJetMassResponse(const AliAnalysisTaskEmcalJetMassResponse&);            // not implemented
61   AliAnalysisTaskEmcalJetMassResponse &operator=(const AliAnalysisTaskEmcalJetMassResponse&); // not implemented
62
63   ClassDef(AliAnalysisTaskEmcalJetMassResponse, 1)
64 };
65 #endif
66