]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/Tracks/AliEMCalTriggerTracksAnalysisComponent.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / Tracks / AliEMCalTriggerTracksAnalysisComponent.h
1 #ifndef ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H
2 #define ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H
3 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // Author: Markus Fasel
7 #include <vector>
8 #include <string>
9 #include <TNamed.h>
10 #include "AliEMCalHistoContainer.h"
11
12 namespace EMCalTriggerPtAnalysis {
13
14 class AliEMCalTriggerAnaTriggerDecision;
15 class AliEMCalTriggerBinningComponent;
16 class AliEMCalTriggerBinningDimension;
17 class AliEMCalTriggerEventData;
18 class AliEMCalTriggerKineCuts;
19
20 class AliEMCalTriggerTracksAnalysisComponent : public TNamed {
21 public:
22   AliEMCalTriggerTracksAnalysisComponent();
23   AliEMCalTriggerTracksAnalysisComponent(const char *name);
24   virtual ~AliEMCalTriggerTracksAnalysisComponent();
25
26   virtual void CreateHistos();
27   virtual void Process(const AliEMCalTriggerEventData * const data) = 0;
28
29   THashList *GetHistList() const { return fHistos->GetListOfHistograms(); }
30   void SetBinning(const AliEMCalTriggerBinningComponent * const binning) { fBinning = binning; }
31   void SetKineCuts(const AliEMCalTriggerKineCuts * const cuts) { fKineCuts = cuts; }
32   void SetTriggerDecision(const AliEMCalTriggerAnaTriggerDecision *trigger) { fTriggerDecision = trigger; }
33
34 protected:
35   TAxis *DefineAxis(const char *name, const AliEMCalTriggerBinningDimension *binning);
36   TAxis *DefineAxis(const char *name, int nbins, double min, double max);
37   void GetMachingTriggerNames(std::vector<std::string> &triggernames, Bool_t usePatches);
38
39   AliEMCalHistoContainer                      *fHistos;
40   const AliEMCalTriggerBinningComponent       *fBinning;
41   const AliEMCalTriggerKineCuts               *fKineCuts;
42   const AliEMCalTriggerAnaTriggerDecision     *fTriggerDecision;
43
44   ClassDef(AliEMCalTriggerTracksAnalysisComponent, 1)
45 };
46
47 } /* namespace EMCalTriggerPtAnalysis */
48
49 #endif /* ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H */