AliPhysics  2c9f502 (2c9f502)
 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 
23 namespace EMCalTriggerPtAnalysis {
24 
25 class AliEMCalTriggerAnaClassManager;
26 class AliEMCalTriggerBinningComponent;
27 class AliEMCalTriggerBinningDimension;
28 class AliEMCalTriggerEventData;
29 class AliEMCalTriggerKineCuts;
30 class AliEMCalTriggerWeightHandler;
31 
36 class TriggerManagerNotFoundException : public std::exception{
37 public:
42  fMessage("")
43  {
44  fMessage = "Trigger handler not found";
45  }
50  TriggerManagerNotFoundException(std::string producer):
51  fMessage("")
52  {
53  fMessage = "Trigger handler not found for object " + producer;
54  }
58  virtual ~TriggerManagerNotFoundException() throw() {}
59 
60  const char *what() const throw() {
61  return fMessage.c_str();
62  }
63 
64 private:
65  std::string fMessage;
66 };
67 
81 public:
85 
86  virtual void CreateHistos();
87  virtual void Process(const AliEMCalTriggerEventData * const data) = 0;
88 
93  THashList *GetHistList() const { return fHistos->GetListOfHistograms(); }
94 
100 
105  void SetBinning(const AliEMCalTriggerBinningComponent * const binning) { fBinning = binning; }
106 
111  void SetKineCuts(const AliEMCalTriggerKineCuts * const cuts) { fKineCuts = cuts; }
112 
118 
124 
129  void SetComponentDebugLevel(int debuglevel) { fComponentDebugLevel = debuglevel; }
130 
131 protected:
132  TAxis *DefineAxis(const char *name, const AliEMCalTriggerBinningDimension *binning);
133  TAxis *DefineAxis(const char *name, int nbins, double min, double max);
134  void GetMachingTriggerNames(std::vector<std::string> &triggernames) const;
135  void GetAllTriggerNamesAndTitles(std::map<std::string, std::string> &triggers) const;
136  void PrintTriggerNames(const std::vector<std::string> &, const std::string &componentName) const;
137 
141  const AliEMCalTriggerKineCuts *fKineCuts;
143 
145 
149 };
150 
151 } /* namespace EMCalTriggerPtAnalysis */
152 
153 #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)
int Int_t
Definition: External.C:63
void GetAllTriggerNamesAndTitles(std::map< std::string, std::string > &triggers) const
THashList * GetListOfHistograms() const
Definition: THistManager.h:504
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)
Container class for histograms for the high- charged particle analysis.
Definition: THistManager.h:43
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.