AliPhysics  0bb4a45 (0bb4a45)
EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection Class Reference

Helper class selecting events on the presence of a trigger patch for the given type above threshold. More...

#include <AliEmcalTriggerOfflineSelection.h>

Inheritance diagram for EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection:

Public Types

enum  EmcalTriggerClass {
  kTrgEL0 = 0, kTrgEG1, kTrgEG2, kTrgEJ1,
  kTrgEJ2, kTrgDL0, kTrgDG1, kTrgDG2,
  kTrgDJ1, kTrgDJ2, kTrgn
}
 Definition of the various supported trigger types. More...
 
enum  EmcalEnergyDefinition_t {
  kFEEEnergy, kFEETransverseEnergy, kFEEADC, kFEETransverseADC,
  kClusterEnergy, kClusterTransverseEnergy
}
 Definition of EMCAL patch energy measurements. More...
 

Public Member Functions

 AliEmcalTriggerOfflineSelection ()
 Default constructor. More...
 
virtual ~AliEmcalTriggerOfflineSelection ()
 Destructor. More...
 
void SetOfflineEnergyThreshold (EmcalTriggerClass trgcls, double threshold)
 Specify threshold for a given offline trigger class. More...
 
void SetEnergyDefinition (EmcalEnergyDefinition_t endef)
 Define according to which energy measurement a patch is selected as trigger patch. More...
 
void SetAcceptanceMap (EmcalTriggerClass trgcls, const TH2 *accmap)
 Set acceptance map for a given trigger class. More...
 
void SetClusterContainer (const TString &clustercont)
 
Bool_t IsOfflineSelected (EmcalTriggerClass trgcls, const AliVEvent *const data) const
 Select event as triggered event. More...
 
Double_t GetThresholdForTrigger (EmcalTriggerClass trgcls) const
 Get the offline trigger threshold (on energy) for a given trigger class. More...
 
const TStringGetNameClusterContainer () const
 Get the name of the cluster container. More...
 
void SetEnergyResolution (Double_t resolution)
 Set the energy resolution used to smear the threshold. More...
 
void SetUseSmearedEnergy (Bool_t doUse)
 Switch whether to use original or smeared energy. More...
 

Static Public Member Functions

static Bool_t IsSingleShower (EmcalTriggerClass cls)
 Checks if the trigger class is a single shower patch trigger class. More...
 
static Bool_t IsDCAL (EmcalTriggerClass cls)
 Checks if the trigger class is a jet patch trigger class. More...
 
static const TStringGetTriggerName (EmcalTriggerClass cls)
 Get the name of the trigger class as string representation. More...
 

Protected Member Functions

bool ApplyPatchTrigger (EmcalTriggerClass trgcls, const TClonesArray *const triggerpatches) const
 Run event selection using trigger patches. More...
 
bool ApplyClusterTrigger (EmcalTriggerClass trgcls, const AliVEvent *const event) const
 Run event selection using a EMCAL clusters. More...
 
bool UseClusters () const
 Check whether the trigger observable is based on clusters. More...
 
bool UsePatches () const
 Check whether the trigger observable is based on trigger patches. More...
 

Protected Attributes

Double_t fOfflineEnergyThreshold [kTrgn]
 Thresholds applied on offline energy. More...
 
const TH2fAcceptanceMaps [kTrgn]
 ! Online acceptance distribution More...
 
EmcalEnergyDefinition_t fEnergyDefinition
 Define type of energy to be use for the patch selection. More...
 
TString fNameClusterContainer
 Name of the cluster container. More...
 
Double_t fResolution
 Resolution for threshold smearing. More...
 
Bool_t fUseSmearedEnergy
 Switch whether to use smeared or original energy. More...
 

Static Protected Attributes

static const TString fgkTriggerNames [kTrgn]
 Names of the various trigger classes. More...
 

Detailed Description

Helper class selecting events on the presence of a trigger patch for the given type above threshold.

Author
Markus Fasel marku.nosp@m.s.fa.nosp@m.sel@c.nosp@m.ern..nosp@m.ch, Lawrence Berkeley National Laboratory
Since
Feb 23, 2016

AliEmcalTriggerOffline selection provides the functionality to select triggered events based on the presence of a trigger patch for the given type above energy threshold. As convention the calibrated energy from cells is used to select patches above threshold. Energy thresholds can be set via

// Setting 10 GeV threshold for the L1 gamma trigger
sel.SetOfflineEnergyThreshold(AliEmcalTriggerOfflineSelection::kTrgEG1, 10.);

In order to mimic non-uniform trigger acceptance, acceptance maps from Data can be used in the trigger patch selection. When available, trigger patches are selected on a statistical basis using the map, which is expected to be normalized to the position with the maximum trigger counts, in order to provide a probability value. Acceptance maps are set via

TH2 *accEG1; // User is responsible to load the histogram
sel.SetAcceptanceMap(AliEmcalTriggerOfflineSelection::kTrgEG1, accEG1);

Attention: This class takes over ownership and expects the histogram to not belong to a directory. In case no acceptance map is providede, no acceptance mimicing is applied.

Definition at line 47 of file AliEmcalTriggerOfflineSelection.h.

Member Enumeration Documentation

Definition of EMCAL patch energy measurements.

Enumerator
kFEEEnergy 

FEE energy.

kFEETransverseEnergy 

FEE transverse energy.

kFEEADC 

FEE energy converted to L1 ADC.

kFEETransverseADC 

FEE transverse converted to L1 transverse ADC.

kClusterEnergy 

Cluster energy.

kClusterTransverseEnergy 

Cluster transverse energy.

Definition at line 71 of file AliEmcalTriggerOfflineSelection.h.

Definition of the various supported trigger types.

Enumerator
kTrgEL0 

EMCAL L0 trigger.

kTrgEG1 

EMCAL L1 Gamma trigger, high threshold.

kTrgEG2 

EMCAL L1 Gamma trigger, low threshold.

kTrgEJ1 

EMCAL L1 Jet trigger, high threshold.

kTrgEJ2 

EMCAL L1 Jet trigger, low threshold.

kTrgDL0 

DCAL L0 trigger.

kTrgDG1 

DCAL L1 Gamma trigger, high threshold.

kTrgDG2 

DCAL L1 Gamma trigger, low threshold.

kTrgDJ1 

DCAL L1 Jet trigger, high threshold.

kTrgDJ2 

DCAL L1 Jet trigger, low threshold.

kTrgn 

Number of supported triggers.

Definition at line 53 of file AliEmcalTriggerOfflineSelection.h.

Constructor & Destructor Documentation

EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::AliEmcalTriggerOfflineSelection ( )

Default constructor.

Definition at line 41 of file AliEmcalTriggerOfflineSelection.cxx.

EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::~AliEmcalTriggerOfflineSelection ( )
virtual

Destructor.

Definition at line 52 of file AliEmcalTriggerOfflineSelection.cxx.

Member Function Documentation

bool EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::ApplyClusterTrigger ( EmcalTriggerClass  trgcls,
const AliVEvent *const  event 
) const
protected

Run event selection using a EMCAL clusters.

Events are selected requiring at least one EMCAL cluster with energy above threshold. The energy can be either the total cluster energy ot the cluster transverse energy. Note that this trigger is a hypothetical trigger, used for principal studies, and is not implemented as such in the hardware.

Parameters
[in]trgclsEMCAL trigger classs
[in]eventInput event, containing the cluster container
Returns
True if the event is selected, false otherwise

Definition at line 145 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by IsOfflineSelected(), and SetUseSmearedEnergy().

bool EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::ApplyPatchTrigger ( EmcalTriggerClass  trgcls,
const TClonesArray *const  triggerpatches 
) const
protected

Run event selection using trigger patches.

Events are selected in case at least one trigger patch is found with an energy above threshold. The energy can be of different types (energy, transverse energy, ADC, transverse ADC). Note that triggers with transverse energy definitions are hypothetical triggers, used for principal studies, and are not implemented in the hardware.

Trigger patches must match the correct type. This means that for L0 or gamma triggers only gamma patches are used, while for jet triggers only jet patches are used.

Effects of the energy resolution are studied using randomized thresholds.

Parameters
[in]trgclsEMCAL trigger class to be triggered
[in]triggerpatchesContainer of trigger patches used to trigger the event
Returns
True if the event is selected, false otherwise

Definition at line 67 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by IsOfflineSelected(), and SetUseSmearedEnergy().

const TString& EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::GetNameClusterContainer ( ) const
inline

Get the name of the cluster container.

Returns
Name of the cluster container

Definition at line 156 of file AliEmcalTriggerOfflineSelection.h.

Referenced by EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalTriggerBase::UserCreateOutputObjects().

Double_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::GetThresholdForTrigger ( EmcalTriggerClass  trgcls) const
inline

Get the offline trigger threshold (on energy) for a given trigger class.

Parameters
[in]trgclsTrigger class for which to check the threshold
Returns
Threshold for the given trigger class (0 if not set)

Definition at line 150 of file AliEmcalTriggerOfflineSelection.h.

Referenced by EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalClustersRef::FindPatchesForTrigger().

static const TString& EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::GetTriggerName ( EmcalTriggerClass  cls)
inlinestatic

Get the name of the trigger class as string representation.

Parameters
[in]clsEMCAL/DCAL trigger class
Returns
Name of the trigger class

Definition at line 177 of file AliEmcalTriggerOfflineSelection.h.

Referenced by ApplyPatchTrigger(), and IsOfflineSelected().

Bool_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::IsDCAL ( EmcalTriggerClass  cls)
static

Checks if the trigger class is a jet patch trigger class.

Parameters
[in]clsType of the trigger class to check
Returns
True if the trigger class is a single shower patch trigger class

Definition at line 180 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by ApplyPatchTrigger(), EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalClustersRef::FindPatchesForTrigger(), and GetNameClusterContainer().

Bool_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::IsOfflineSelected ( EmcalTriggerClass  trgcls,
const AliVEvent *const  data 
) const

Select event as triggered event.

Apply additional cut requiring at least one offline patch above a given energy (not fake ADC!) Attention: This task groups into single shower triggers (L0, EG1, EG2) and jet triggers (EJ1 and EJ2). Per convention the low threshold patch is selected. No energy cut should be applied in the trigger maker.

Patches are supposed to contain masking done in the trigger maker. If available, an acceptance map can be used to mimic patch azimuthal acceptance in simulation.

Attention: The component take over ownership of the histogram. Need to be set to nullptr once the histogram is read in.

Parameters
[in]trgclsTrigger class for which to apply additional offline patch selection
[in]triggerpatchesArray of trigger patches
Returns
True if at least on patch above threshold is found or no cut is applied

Definition at line 58 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by SetClusterContainer(), EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalTriggerBase::TriggerSelection(), and EMCalTriggerPtAnalysis::AliAnalysisTaskEventSelectionRef::UserExec().

Bool_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::IsSingleShower ( EmcalTriggerClass  cls)
static

Checks if the trigger class is a single shower patch trigger class.

Parameters
[in]clsType of the trigger class to check
Returns
True if the trigger class is a single shower patch trigger class

Definition at line 175 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by ApplyPatchTrigger(), EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalClustersRef::FindPatchesForTrigger(), GetNameClusterContainer(), and EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalTriggerBase::SelectOnlineTrigger().

void EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::SetAcceptanceMap ( EmcalTriggerClass  trgcls,
const TH2 accmap 
)
inline

Set acceptance map for a given trigger class.

The acceptance map is expected to be normalized to 1 for the position with the largest trigger patch.

Parameters
[in]trgclsTrigger class for which to set then acceptance map
[in]accmapAcceptance map as 2D histogram

Definition at line 118 of file AliEmcalTriggerOfflineSelection.h.

Referenced by EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalTriggerBase::ExecOnce().

void EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::SetClusterContainer ( const TString clustercont)
inline

Define name of the cluster container (for cluster trigger)

Parameters
[in]clustercontName of the cluster container

Definition at line 124 of file AliEmcalTriggerOfflineSelection.h.

Referenced by EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalTriggerBase::UserCreateOutputObjects().

void EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::SetEnergyDefinition ( EmcalEnergyDefinition_t  endef)
inline

Define according to which energy measurement a patch is selected as trigger patch.

See EmcalEnergyDefinition_t for possible settings.

Parameters
[in]endefType of the energy measurement.

Definition at line 107 of file AliEmcalTriggerOfflineSelection.h.

Referenced by EMCalTriggerPtAnalysis::AliEmcalAnalysisFactory::TriggerSelectionFactory().

void EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::SetEnergyResolution ( Double_t  resolution)
inline

Set the energy resolution used to smear the threshold.

Note that an absolute value for the energy is used. In case the resolution is set to 0, no smearing is applied.

Parameters
[in]resolutionEnergy resolution used for smearing

Definition at line 187 of file AliEmcalTriggerOfflineSelection.h.

void EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::SetOfflineEnergyThreshold ( EmcalTriggerClass  trgcls,
double  threshold 
)
inline

Specify threshold for a given offline trigger class.

Convention is a threshold on the patch energy (from cells) in GeV

Parameters
[in]trgclsTrigger class for which to set the threshold
[in]thresholdThreshold value for the trigger class

Definition at line 98 of file AliEmcalTriggerOfflineSelection.h.

Referenced by EMCalTriggerPtAnalysis::AliEmcalAnalysisFactory::TriggerSelectionFactory().

void EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::SetUseSmearedEnergy ( Bool_t  doUse)
inline

Switch whether to use original or smeared energy.

Parameters
[in]doUseIf true then the smeared energy is used

Definition at line 193 of file AliEmcalTriggerOfflineSelection.h.

Bool_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::UseClusters ( ) const
protected

Check whether the trigger observable is based on clusters.

Returns
True if the trigger is based on clusters, false otherwise

Definition at line 184 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by IsOfflineSelected(), and SetUseSmearedEnergy().

Bool_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::UsePatches ( ) const
protected

Check whether the trigger observable is based on trigger patches.

Returns
True if the observable is based on trigger patches

Definition at line 188 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by SetUseSmearedEnergy().

Member Data Documentation

const TH2* EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fAcceptanceMaps[kTrgn]
protected
EmcalEnergyDefinition_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fEnergyDefinition
protected

Define type of energy to be use for the patch selection.

Definition at line 252 of file AliEmcalTriggerOfflineSelection.h.

Referenced by ApplyClusterTrigger(), ApplyPatchTrigger(), SetEnergyDefinition(), UseClusters(), and UsePatches().

const TString EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fgkTriggerNames
staticprotected
Initial value:
= {
"EMC7", "EG1", "EG2", "EJ1", "EJ2", "DMC7", "DG1", "DG2", "DJ1", "DJ2"
}

Names of the various trigger classes.

Definition at line 249 of file AliEmcalTriggerOfflineSelection.h.

Referenced by GetTriggerName().

TString EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fNameClusterContainer
protected

Name of the cluster container.

Definition at line 253 of file AliEmcalTriggerOfflineSelection.h.

Referenced by ApplyClusterTrigger(), GetNameClusterContainer(), and SetClusterContainer().

Double_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fOfflineEnergyThreshold[kTrgn]
protected
Double_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fResolution
protected

Resolution for threshold smearing.

Definition at line 254 of file AliEmcalTriggerOfflineSelection.h.

Referenced by ApplyClusterTrigger(), ApplyPatchTrigger(), and SetEnergyResolution().

Bool_t EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fUseSmearedEnergy
protected

Switch whether to use smeared or original energy.

Definition at line 255 of file AliEmcalTriggerOfflineSelection.h.

Referenced by ApplyPatchTrigger(), and SetUseSmearedEnergy().


The documentation for this class was generated from the following files: