AliPhysics  b43479f (b43479f)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEMCalTriggerTracksAnalysisComponent.h
Go to the documentation of this file.
1 
11 #ifndef ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H
12 #define ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H
13 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
14  * See cxx source for full Copyright notice */
15 
16 #include <exception>
17 #include <map>
18 #include <vector>
19 #include <string>
20 #include <TNamed.h>
21 #include <THistManager.h>
22 
30 namespace EMCalTriggerPtAnalysis {
31 
32 class AliEMCalTriggerAnaClassManager;
33 class AliEMCalTriggerBinningComponent;
34 class AliEMCalTriggerBinningDimension;
35 class AliEMCalTriggerEventData;
36 class AliEMCalTriggerKineCuts;
37 class AliEMCalTriggerWeightHandler;
38 
43 class TriggerManagerNotFoundException : public std::exception{
44 public:
49  fMessage("")
50  {
51  fMessage = "Trigger handler not found";
52  }
57  TriggerManagerNotFoundException(std::string producer):
58  fMessage("")
59  {
60  fMessage = "Trigger handler not found for object " + producer;
61  }
65  virtual ~TriggerManagerNotFoundException() throw() {}
66 
67  const char *what() const throw() {
68  return fMessage.c_str();
69  }
70 
71 private:
72  std::string fMessage;
73 };
74 
88 public:
92 
93  virtual void CreateHistos();
94  virtual void Process(const AliEMCalTriggerEventData * const data) = 0;
95 
100  THashList *GetHistList() const { return fHistos->GetListOfHistograms(); }
101 
107 
112  void SetBinning(const AliEMCalTriggerBinningComponent * const binning) { fBinning = binning; }
113 
118  void SetKineCuts(const AliEMCalTriggerKineCuts * const cuts) { fKineCuts = cuts; }
119 
125 
131 
136  void SetComponentDebugLevel(int debuglevel) { fComponentDebugLevel = debuglevel; }
137 
138 protected:
139  TAxis *DefineAxis(const char *name, const AliEMCalTriggerBinningDimension *binning);
140  TAxis *DefineAxis(const char *name, int nbins, double min, double max);
141  void GetMachingTriggerNames(std::vector<std::string> &triggernames) const;
142  void GetAllTriggerNamesAndTitles(std::map<std::string, std::string> &triggers) const;
143  void PrintTriggerNames(const std::vector<std::string> &, const std::string &componentName) const;
144 
145  THistManager *fHistos;
148  const AliEMCalTriggerKineCuts *fKineCuts;
150 
152 
156 };
157 
158 } /* namespace EMCalTriggerPtAnalysis */
159 
160 #endif /* ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H */
void PrintTriggerNames(const std::vector< std::string > &, const std::string &componentName) const
void GetMachingTriggerNames(std::vector< std::string > &triggernames) const
const AliEMCalTriggerWeightHandler * fWeightHandler
Event weight handler.
TAxis * DefineAxis(const char *name, const AliEMCalTriggerBinningDimension *binning)
void GetAllTriggerNamesAndTitles(std::map< std::string, std::string > &triggers) const
THistManager * fHistos
Histogram container of the analysis component.
const AliEMCalTriggerAnaClassManager * fTriggerClassManager
Global trigger class manager.
Global binning definition for the high- charged particle analysis.
const AliEMCalTriggerKineCuts * fKineCuts
Kinematical cuts for tracks and particle selection.
Base class for analysis components in the analysis of EMCAL-triggered events.
void SetBinning(const AliEMCalTriggerBinningComponent *const binning)
virtual void Process(const AliEMCalTriggerEventData *const data)=0
void SetTriggerClassManager(const AliEMCalTriggerAnaClassManager *classmgr)
Simple event container within the high- track analysis.
const Int_t nbins
Exception class for events with missing trigger configuration handler.
const AliEMCalTriggerBinningComponent * fBinning
Global binning handler.