AliPhysics  63e47e1 (63e47e1)
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 
99  const AliEMCalTriggerWeightHandler *GetWeightHandler() const { return fWeightHandler; }
100 
105  void SetBinning(const AliEMCalTriggerBinningComponent * const binning) { fBinning = binning; }
106 
111  void SetKineCuts(const AliEMCalTriggerKineCuts * const cuts) { fKineCuts = cuts; }
112 
117  void SetTriggerClassManager(const AliEMCalTriggerAnaClassManager *classmgr) { fTriggerClassManager = classmgr; }
118 
123  void SetWeightHandler(const AliEMCalTriggerWeightHandler *handler) { fWeightHandler = handler; }
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 */
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
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)
void SetTriggerClassManager(const AliEMCalTriggerAnaClassManager *classmgr)
Analysis of high- tracks in triggered events.
Container class for histograms.
Definition: THistManager.h:99
Simple event container within the high- track analysis.
void Process(Int_t *pflag[23040][7], TH1 *inhisto, Double_t Nsigma=4., Int_t dnbins=200, Double_t dmaxval=-1., Int_t compteur=1)
Exception class for events with missing trigger configuration handler.
const AliEMCalTriggerBinningComponent * fBinning
Global binning handler.