AliPhysics  vAN-20150924 (e816f45)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
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 "AliEMCalHistoContainer.h"
23 
31 namespace EMCalTriggerPtAnalysis {
32 
33 class AliEMCalTriggerAnaClassManager;
34 class AliEMCalTriggerBinningComponent;
35 class AliEMCalTriggerBinningDimension;
36 class AliEMCalTriggerEventData;
37 class AliEMCalTriggerKineCuts;
38 class AliEMCalTriggerWeightHandler;
39 
44 class TriggerManagerNotFoundException : public std::exception{
45 public:
50  fMessage("")
51  {
52  fMessage = "Trigger handler not found";
53  }
58  TriggerManagerNotFoundException(std::string producer):
59  fMessage("")
60  {
61  fMessage = "Trigger handler not found for object " + producer;
62  }
66  virtual ~TriggerManagerNotFoundException() throw() {}
67 
68  const char *what() const throw() {
69  return fMessage.c_str();
70  }
71 
72 private:
73  std::string fMessage;
74 };
75 
89 public:
93 
94  virtual void CreateHistos();
95  virtual void Process(const AliEMCalTriggerEventData * const data) = 0;
96 
101  THashList *GetHistList() const { return fHistos->GetListOfHistograms(); }
102 
108 
113  void SetBinning(const AliEMCalTriggerBinningComponent * const binning) { fBinning = binning; }
114 
119  void SetKineCuts(const AliEMCalTriggerKineCuts * const cuts) { fKineCuts = cuts; }
120 
126 
132 
137  void SetComponentDebugLevel(int debuglevel) { fComponentDebugLevel = debuglevel; }
138 
139 protected:
140  TAxis *DefineAxis(const char *name, const AliEMCalTriggerBinningDimension *binning);
141  TAxis *DefineAxis(const char *name, int nbins, double min, double max);
142  void GetMachingTriggerNames(std::vector<std::string> &triggernames) const;
143  void GetAllTriggerNamesAndTitles(std::map<std::string, std::string> &triggers) const;
144  void PrintTriggerNames(const std::vector<std::string> &, const std::string &componentName) const;
145 
149  const AliEMCalTriggerKineCuts *fKineCuts;
151 
153 
157 };
158 
159 } /* namespace EMCalTriggerPtAnalysis */
160 
161 #endif /* ALIEMCALTRIGGERTRACKSANALYSISCOMPONENT_H */
Declaration of class AliEMCalTriggerAnaTriggerDecision, a container for trigger decision in EMCAL-tri...
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)
Container class for histograms for the high- charged particle analysis.
void GetAllTriggerNamesAndTitles(std::map< std::string, std::string > &triggers) const
Declarartion of class AliEMCalHistoContainer.
AliEMCalHistoContainer * 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.