]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalDiJetResponse.h
merging trunk to TPCdev
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalDiJetResponse.h
1 #ifndef ALIANALYSISTASKEMCALDIJETRESPONSE_H
2 #define ALIANALYSISTASKEMCALDIJETRESPONSE_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 AliAnalysisUtils;
12 class AliAnalysisManager;
13 class AliGenPythiaEventHeader;
14
15 #include "AliJetContainer.h"
16
17 #include "AliAnalysisTaskEmcalDiJetBase.h"
18
19 class AliAnalysisTaskEmcalDiJetResponse : public AliAnalysisTaskEmcalDiJetBase {
20  public:
21   AliAnalysisTaskEmcalDiJetResponse();
22   AliAnalysisTaskEmcalDiJetResponse(const char *name);
23   virtual ~AliAnalysisTaskEmcalDiJetResponse();
24
25   void                        UserCreateOutputObjects();
26   void                        Terminate(Option_t *option);
27
28   //Setters
29   void SetMatchFullCharged(Bool_t b)        { fDoMatchFullCharged = b; }
30   void SetResponseVar(Int_t v)              { fnUsedResponseVar   = v; }    
31
32   //Getters
33
34  protected:
35   Bool_t                      Run()              ;
36   void                        CorrelateJets(const Int_t type);
37   void                        CorrelateAllJets(const Int_t type);
38   void                        CorrelateTwoJets(const Int_t type);
39
40   Bool_t                      FillHistograms()   ;
41   void                        FillDiJetHistos(const AliEmcalJet *jet1 = 0, const AliEmcalJet *jet2 = 0, const Int_t mode = 0);
42   void                        FillMatchHistos();
43   Bool_t                      RetrieveEventObjects();
44
45   void                        FillDiJetResponse(const AliEmcalJet *jetTrigMC = 0, const AliEmcalJet *jetAssocMC = 0, const AliEmcalJet *jetTrigDet = 0, const AliEmcalJet *jetAssocDet = 0, Int_t type = 0);
46
47  private:
48   Bool_t            fDoMatchFullCharged;          //  do full-charged matching histos
49   THnSparse        *fhnDiJetResponseCharged;      //! sparse with di-jet properties (full-full)
50   THnSparse        *fhnDiJetResponseFullCharged;  //! sparse with di-jet properties (full-full)
51   TH1F             *fh1TriggersCharged[2];        //! charged jet triggers
52   TH1F             *fh1TriggersFull[2];           //! full jet triggers
53   TH1F             *fh1TriggersLostCharged;       //! lost charged jet triggers
54   TH1F             *fh1TriggersLostFull;          //! lost full jet triggers
55   TH3F             *fh3AssocLostPtDeltaPhiCharged;//! lost charged associated jet
56   TH3F             *fh3AssocLostPtDeltaPhiFull;   //! lost full associated jet
57   THnSparse        *fhnMatchingCharged;           //! sparse comparing matched particle and detector level charged jets
58   THnSparse        *fhnMatchingFull;              //! sparse comparing matched particle and detector level charged jets
59   Int_t             fnUsedResponseVar;            //  build response for kt (0) or dijet eta (1)
60
61
62   AliAnalysisTaskEmcalDiJetResponse(const AliAnalysisTaskEmcalDiJetResponse&);            // not implemented
63   AliAnalysisTaskEmcalDiJetResponse &operator=(const AliAnalysisTaskEmcalDiJetResponse&); // not implemented
64
65   ClassDef(AliAnalysisTaskEmcalDiJetResponse, 2) // jet sample analysis task
66 };
67 #endif