AliPhysics  vAN-20150630 (513c479)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliEMCalTriggerPatchAnalysisComponent.h
Go to the documentation of this file.
1 
8 #ifndef ALIEMCALTRIGGERPATCHANALYSISCOMPONENT_H
9 #define ALIEMCALTRIGGERPATCHANALYSISCOMPONENT_H
10 /* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
11  * See cxx source for full Copyright notice */
12 
13 #include <TString.h>
15 
17 
25 namespace EMCalTriggerPtAnalysis {
26 
27 class AliEMCalTriggerEventData;
28 
39 public:
41  AliEMCalTriggerPatchAnalysisComponent(const char *name, Bool_t withEventSelection = kFALSE);
43 
44  virtual void CreateHistos();
45  virtual void Process(const AliEMCalTriggerEventData * const data);
46 
52  Bool_t IsSwapOnlineThresholds() const { return fSwapOnlineThresholds; }
53 
60 
66  void SetSwapOnlineThresholds(Bool_t doSwap = kTRUE) { fSwapOnlineThresholds = doSwap; }
67 
73  void SetSwapOfflineThresholds(Bool_t doSwap = kTRUE) { fSwapOfflineThresholds = doSwap; }
74 
75 protected:
76 
86  public:
92  AliEmcalTriggerPatchHandlerFactory(Bool_t swapThresholdsOnline, Bool_t swapThresholdsOffline):
93  fSwapThresholdsOnline(swapThresholdsOnline),
94  fSwapThresholdsOffline(swapThresholdsOffline)
95  {}
100  Bool_t IsPatchOfType(const AliEmcalTriggerPatchInfo *const patch, TString patchtype) const;
101 
102  protected:
103 
112  public:
116  AliEmcalTriggerPatchHandler(Bool_t doSwapOnline, Bool_t doSwapOffline):
117  fPatchSwapThresholdsOnline(doSwapOnline),
118  fPatchSwapThresholdsOffline(doSwapOffline)
119  {}
124 
125  virtual Bool_t IsOfType(const AliEmcalTriggerPatchInfo * const patch) const = 0;
126  protected:
129  };
130 
138  public:
142  AliEmcalTriggerPatchHandlerJetLow(Bool_t doSwapOnline, Bool_t doSwapOffline) :
143  AliEmcalTriggerPatchHandler(doSwapOnline, doSwapOffline)
144  {}
149  virtual Bool_t IsOfType(const AliEmcalTriggerPatchInfo * const patch) const;
150  };
151 
159  public:
163  AliEmcalTriggerPatchHandlerJetHigh(Bool_t doSwapOnline, Bool_t doSwapOffline) :
164  AliEmcalTriggerPatchHandler(doSwapOnline, doSwapOffline)
165  {}
170  virtual Bool_t IsOfType(const AliEmcalTriggerPatchInfo * const patch) const;
171  };
172 
180  public:
184  AliEmcalTriggerPatchHandlerGammaLow(Bool_t doSwapOnline, Bool_t doSwapOffline) :
185  AliEmcalTriggerPatchHandler(doSwapOnline, doSwapOffline)
186  {}
191  virtual Bool_t IsOfType(const AliEmcalTriggerPatchInfo * const patch) const;
192  };
193 
201  public:
205  AliEmcalTriggerPatchHandlerGammaHigh(Bool_t doSwapOnline, Bool_t doSwapOffline) :
206  AliEmcalTriggerPatchHandler(doSwapOnline, doSwapOffline)
207  {}
212  virtual Bool_t IsOfType(const AliEmcalTriggerPatchInfo * const patch) const;
213  };
214 
222  public:
226  AliEmcalTriggerPatchHandlerLevel0(Bool_t doSwapOnline, Bool_t doSwapOffline) :
227  AliEmcalTriggerPatchHandler(doSwapOnline, doSwapOffline)
228  {}
233  virtual Bool_t IsOfType(const AliEmcalTriggerPatchInfo * const patch) const;
234  };
235 
238  };
239 
240  void FillStandardMonitoring(const AliEmcalTriggerPatchInfo * const patch, TString eventclass = "");
241  void FillTriggerInfoHistogram(TString histo, const AliEmcalTriggerPatchInfo *const patch);
242  void FillAmplitudeHistogram(TString histo, const AliEmcalTriggerPatchInfo *const patch);
243 
247 
249  ClassDef(AliEMCalTriggerPatchAnalysisComponent, 1); // Component for trigger patch analysis
251 };
252 
253 } /* namespace EMCalTriggerPtAnalysis */
254 
255 #endif /* ALIEMCALTRIGGERPATCHANALYSISCOMPONENT_H */
Base class for analysis components.
void FillAmplitudeHistogram(TString histo, const AliEmcalTriggerPatchInfo *const patch)
Bool_t fWithEventSelection
Define whether patches are analysed with event selection.
void FillTriggerInfoHistogram(TString histo, const AliEmcalTriggerPatchInfo *const patch)
Base class for analysis components in the analysis of EMCAL-triggered events.
void FillStandardMonitoring(const AliEmcalTriggerPatchInfo *const patch, TString eventclass="")
Bool_t fSwapOfflineThresholds
Swap trigger thresholds for offline patches.
Simple event container within the high- track analysis.