AliPhysics  1168478 (1168478)
 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 TBinning &binning);
133  void GetMachingTriggerNames(std::vector<std::string> &triggernames) const;
134  void GetAllTriggerNamesAndTitles(std::map<std::string, std::string> &triggers) const;
135  void PrintTriggerNames(const std::vector<std::string> &, const std::string &componentName) const;
136 
140  const AliEMCalTriggerKineCuts *fKineCuts;
142 
144 
148 };
149 
150 } /* namespace EMCalTriggerPtAnalysis */
151 
152 #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.
Interface for binnings used by the histogram handler.
Definition: TBinning.h:21
int Int_t
Definition: External.C:63
void GetAllTriggerNamesAndTitles(std::map< std::string, std::string > &triggers) const
THashList * GetListOfHistograms() const
Get the list of histograms.
Definition: THistManager.h:671
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.
Definition: THistManager.h:99
Simple event container within the high- track analysis.
Exception class for events with missing trigger configuration handler.
const AliEMCalTriggerBinningComponent * fBinning
Global binning handler.