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 */
6 // Author: Markus Fasel
10 #include "AliEMCalHistoContainer.h"
12 namespace EMCalTriggerPtAnalysis {
14 class AliEMCalTriggerAnaTriggerDecision;
15 class AliEMCalTriggerBinningComponent;
16 class AliEMCalTriggerBinningDimension;
17 class AliEMCalTriggerEventData;
18 class AliEMCalTriggerKineCuts;
20 class AliEMCalTriggerTracksAnalysisComponent : public TNamed {
22 AliEMCalTriggerTracksAnalysisComponent();
23 AliEMCalTriggerTracksAnalysisComponent(const char *name);
24 virtual ~AliEMCalTriggerTracksAnalysisComponent();
26 virtual void CreateHistos();
27 virtual void Process(const AliEMCalTriggerEventData * const data) = 0;
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; }
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);
39 AliEMCalHistoContainer *fHistos;
40 const AliEMCalTriggerBinningComponent *fBinning;
41 const AliEMCalTriggerKineCuts *fKineCuts;
42 const AliEMCalTriggerAnaTriggerDecision *fTriggerDecision;
44 ClassDef(AliEMCalTriggerTracksAnalysisComponent, 1)
47 } /* namespace EMCalTriggerPtAnalysis */
49 #endif /* ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H */