AliPhysics  d497afb (d497afb)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalTriggerBase.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALTRIGGERBASE_H
2 #define ALIANALYSISTASKEMCALTRIGGERBASE_H
3 /* Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 #include <TString.h>
7 #include <vector>
8 
9 #include "AliAnalysisTaskEmcal.h"
10 #include "AliCutValueRange.h"
12 
13 class TClonesArray;
14 class THistManager;
15 class AliOADBContainer;
16 
17 namespace EMCalTriggerPtAnalysis {
18 
59 public:
60 
65 
73  AliAnalysisTaskEmcalTriggerBase(const char *name);
74 
79 
89  void EnableDCALTriggers(Bool_t doEnable) { fEnableDCALTriggers = doEnable; }
90 
91  void EnableT0Triggers(Bool_t doEnable) { fEnableT0Triggers = doEnable; }
92 
104  void SetDownscaleOADB(TString oadbname) { fNameDownscaleOADB = oadbname; }
105 
111 
117  void SetExcludeNoiseEvents(Bool_t doExclude = true) { fRejectNoiseEvents = doExclude; }
118 
124  void SetSelectNoiseEvents(Bool_t doSelect = true) { fSelectNoiseEvents = doSelect; }
125 
130  void SetRequireL0ForL1(Bool_t doRequire = true) { fRequireL0forL1 = doRequire; }
131 
136  void AddMaskedFastor(int fastorID) { fMaskedFastors.push_back(fastorID); }
137 
142  void SetMaskedFastorOADB(TString oadbname) { fNameMaskedFastorOADB = oadbname; }
143 
154 
164 
170  void SetVertexCut(double zmin, double zmax) { fVertexCut.SetLimits(zmin, zmax); }
171 
177 
183  void SetOnlineTriggerThreshold(const TString &triggerclass, Int_t threshold);
184 
193  void SetUseTriggerBits(Bool_t doUse) { fUseTriggerBits = doUse; }
194 
203  void SetRequireBunchCrossing(Bool_t doRequire) { fRequireBunchCrossing = doRequire; }
204 
211  void SetRequireAnalysisUtils(Bool_t doRequire) { fRequireAnalysisUtils = doRequire; }
212 
220  void SetTriggerAcceptanceOADB(const TString &nameAcceptanceOADB) { fNameAcceptanceOADB = nameAcceptanceOADB; }
221 
228  void SetExclusiveMinBias(Bool_t exclusivemb) { fExclusiveMinBias = exclusivemb; }
229 
230 protected:
231 
240  virtual void UserCreateOutputObjects();
241 
251  virtual bool IsEventSelected();
252 
258  virtual bool IsUserEventSelected() { return true; }
259 
265  virtual void CreateUserHistos() = 0;
266 
271  virtual void CreateUserObjects() = 0;
272 
279  virtual void ExecOnce();
280 
288  virtual void RunChanged(Int_t runnuber);
289 
295 
301 
308  std::vector<TString> GetSupportedTriggers();
309 
318  Double_t GetTriggerWeight(const TString &triggerclass) const;
319 
325  TString GetFiredTriggerClassesFromPatches(const TClonesArray* triggerpatches) const;
326 
334  void TriggerSelection();
335 
344 
350  void SetClusterContainer(TString clustercontname) { fNameClusterContainer = clustercontname; }
351 
357  bool OnlineThresholdsInitialized() const;
358 
365 
371  Int_t GetOnlineTriggerThresholdByName(const TString &name) const;
372 
380  Bool_t SelectFiredPatch(const TString &triggerclass, Int_t adc) const;
381 
386 
387 
389 
395  std::vector<TString> fSelectedTriggers;
397 
400 
402  AliOADBContainer *fDownscaleOADB;
405  AliOADBContainer *fMaskedFastorOADB;
406  std::vector<int> fMaskedFastors;
409 
416 
417 private:
420 };
421 
422 } /* namespace EMCalTriggerPtAnalysis */
423 
424 #endif /* ALIANALYSISTASKEMCALTRIGGERBASE_H */
std::vector< TString > fSelectedTriggers
! Triggers selected for given event
double Double_t
Definition: External.C:58
void SetExcludeNoiseEvents(Bool_t doExclude=true)
If true then noise events (events without recalc trigger patch above threshold) are excluded from the...
Int_t GetOnlineTriggerThresholdByIndex(AliEmcalTriggerOfflineSelection::EmcalTriggerClass trg) const
Bool_t fRejectNoiseEvents
Reject events triggered by noisy fastors.
Base task in the EMCAL framework.
void SetOnlineTriggerThreshold(const TString &triggerclass, Int_t threshold)
Setting trigger threshold for online trigger selection.
void EnableDCALTriggers(Bool_t doEnable)
Enable / Disable histograms for the DCAL triggers.
TString GetFiredTriggerClassesFromPatches(const TClonesArray *triggerpatches) const
AliEmcalTriggerOfflineSelection * fTriggerSelection
Offline trigger selection.
AliAnalysisTaskEmcalTriggerBase & operator=(const AliAnalysisTaskEmcalTriggerBase &)
void SetDownscaleOADB(TString oadbname)
Set the name of the OADB container with the downscale factors.
Helper class selecting events on the presence of a trigger patch for the given type above threshold...
void PrepareDownscaleFactorsFormOCDB()
Read the downscale factors from the OCDB.
void SetRequireBunchCrossing(Bool_t doRequire)
Defining whether to require bunch crossing events.
TObjArray fOnlineTriggerThresholds
Trigger thresholds applied at online level.
Bool_t fEnableDCALTriggers
Enable / Disable event selection for DCAL trigger classes.
void SetOfflineTriggerSelection(AliEmcalTriggerOfflineSelection *sel)
Set an offline trigger selection.
TString fNameMaskedFastorOADB
Name of the masked fastor OADB container.
Bool_t fRequireAnalysisUtils
Switch whether to require event selection in AliAnalysisUtils.
bool SelectOnlineTrigger(AliEmcalTriggerOfflineSelection::EmcalTriggerClass trigger) const
void SetRequireL0ForL1(Bool_t doRequire=true)
Specify whether L0 is needed for L1.
Bool_t fRequireBunchCrossing
Require bunch-bunch events (tag -B- in trigger string)
AliEmcalTriggerOfflineSelection * GetOfflineTriggerSelection() const
Providing access to the offline trigger selection.
TString fNameClusterContainer
Name of the cluster container in the event.
int Int_t
Definition: External.C:63
EmcalTriggerClass
Definition of the various supported trigger types.
const Double_t zmin
TString fNameDownscaleOADB
Name of the downscale OADB container.
void UseTriggerPatches(Bool_t doUse)
Specify whether the trigger decision should be done from trigger patches.
Bool_t fEnableT0Triggers
Enable triggers depending on T0 (INT8, EMC8, EMC8EGA, EMC8EJE)
TString fNameAcceptanceOADB
Name of the OADB container with the trigger acceptance.
AliOADBContainer * fMaskedFastorOADB
! Container with masked fastors
Bool_t fSelectNoiseEvents
Explicitly select events triggered only by noisy fastors.
void SetUseTriggerBits(Bool_t doUse)
Defining whether to require trigger bits.
Bool_t fUseTriggerBits
Switch whether using trigger bits (relies on physics selection)
Bool_t fTriggerStringFromPatches
Do rebuild the trigger string from trigger patches.
void SetSelectNoiseEvents(Bool_t doSelect=true)
If true then noise events (events without recalc trigger patch above threshold) are explicitly select...
void SetExclusiveMinBias(Bool_t exclusivemb)
Run event loop only on min. bias events.
void SetApplyDownscaleCorrectionFromOCDB(Bool_t doApply)
Load the downscale factors run-by-run from the OCDB.
AliOADBContainer * fDownscaleOADB
! Container with downscale factors for different triggers
void AddMaskedFastor(int fastorID)
Add absolute ID of a FastOR to be masked (excluded from trigger patches)
Container class for histograms.
Definition: THistManager.h:99
const Double_t zmax
AliCutValueRange< double > fVertexCut
Cut on the z-position of the primary vertex.
bool Bool_t
Definition: External.C:53
Bool_t SelectFiredPatch(const TString &triggerclass, Int_t adc) const
void SetRequireAnalysisUtils(Bool_t doRequire)
Define whether cuts in AliAnalysisUtils are used in the event selection.
void SetMaskedFastorOADB(TString oadbname)
Set the name of the file with the OADB container containing the masked FastORs.
void SetVertexCut(double zmin, double zmax)
Set z-range of the primary vertex which is selected.