]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskTriggerRejection.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskTriggerRejection.h
1 #ifndef ALIANALYSISTASKTRIGGERREJECTION_H
2 #define ALIANALYSISTASKTRIGGERREJECTION_H
3
4 class TH1;
5 class TH2;
6 class TH3;
7 class TH3F;
8 class TProfile;
9 class THnSparse;
10 class TClonesArray;
11 class TArrayI;
12
13 #include <TRef.h>
14 #include <TBits.h>
15 #include <TMath.h>
16
17 #include <AliVEvent.h>
18
19 #include "AliAnalysisTaskEmcalJet.h"
20 #include "AliEmcalTriggerPatchInfo.h"
21
22 namespace JETriggerRejectionAna {
23   class AliAnalysisTaskTriggerRejection : public AliAnalysisTaskEmcalJet {
24   public:
25     enum MainPatchType {
26       kManual = 0,    //just select highest energy patch in array
27       kEmcalJet = 1   //use functionality of AliAnalysisTaskEmcal
28     };
29     AliAnalysisTaskTriggerRejection();
30     AliAnalysisTaskTriggerRejection(const char *name);
31     virtual ~AliAnalysisTaskTriggerRejection();
32
33     void                        UserCreateOutputObjects();
34     void                        Terminate(Option_t *option);
35     
36     //Setters
37     void SetContainerFull(Int_t c)            { fContainerFull      = c;}
38     void SetContainerCharged(Int_t c)         { fContainerCharged   = c;}
39     void SetMainPatchType(MainPatchType t)    { fMainPatchType      = t;}
40     void SetMainTriggerTypeCat(TriggerCategory cat, Bool_t b) {fMainTrigCat = cat; fMainTrigSimple = b;}
41
42   protected:
43     Bool_t                      FillHistograms()   ;
44     Bool_t                      Run()              ;
45     void                        ExtractMainPatch();
46
47   private:
48     Int_t              fContainerFull;         // number of container with full jets DET
49     Int_t              fContainerCharged;      // number of container with charged jets DET
50     AliEmcalTriggerPatchInfo *fMaxPatch;       // main patch
51     THnSparse         *fhnTriggerInfo;         //! correlation between jets, patch energy and event observables
52     MainPatchType      fMainPatchType;         // method to select main patch
53     TriggerCategory    fMainTrigCat;           // trigger category for main trigger from AliAnalysisTaskEmcal::GetMainTriggerPatch
54     Bool_t             fMainTrigSimple;        // use offline trigger instead of online from AliAnalysisTaskEmcal::GetMainTriggerPatch
55
56     AliAnalysisTaskTriggerRejection(const AliAnalysisTaskTriggerRejection&);            // not implemented
57     AliAnalysisTaskTriggerRejection &operator=(const AliAnalysisTaskTriggerRejection&); // not implemented
58     
59     ClassDef(AliAnalysisTaskTriggerRejection, 2)
60       };
61 }
62 #endif
63
64