AliPhysics  6bc8652 (6bc8652)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 ()
 
virtual ~AliEmcalTriggerOfflineSelection ()
 
void SetOfflineEnergyThreshold (EmcalTriggerClass trgcls, double threshold)
 
void SetEnergyDefinition (EmcalEnergyDefinition_t endef)
 
void SetAcceptanceMap (EmcalTriggerClass trgcls, const TH2 *accmap)
 
void SetClusterContainer (const TString &clustercont)
 
Bool_t IsOfflineSelected (EmcalTriggerClass trgcls, const AliVEvent *const data) const
 
Double_t GetThresholdForTrigger (EmcalTriggerClass trgcls) const
 
const TStringGetNameClusterContainer () const
 

Static Public Member Functions

static Bool_t IsSingleShower (EmcalTriggerClass cls)
 
static Bool_t IsDCAL (EmcalTriggerClass cls)
 
static const TStringGetTriggerName (EmcalTriggerClass cls)
 

Protected Member Functions

bool ApplyPatchTrigger (EmcalTriggerClass trgcls, const TClonesArray *const triggerpatches) const
 
bool ApplyClusterTrigger (EmcalTriggerClass trgcls, const AliVEvent *const triggerpatches) const
 
bool UseClusters () const
 
bool UsePatches () const
 

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...
 

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 40 of file AliEmcalTriggerOfflineSelection.cxx.

EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::~AliEmcalTriggerOfflineSelection ( )
virtual

Destructor

Definition at line 49 of file AliEmcalTriggerOfflineSelection.cxx.

Member Function Documentation

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

Definition at line 113 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by IsOfflineSelected().

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

Definition at line 64 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by IsOfflineSelected().

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

Get the name of the cluster container

Returns
Name of the cluster container

Definition at line 147 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 141 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 168 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 137 of file AliEmcalTriggerOfflineSelection.cxx.

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

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

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 55 of file AliEmcalTriggerOfflineSelection.cxx.

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

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 132 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by ApplyPatchTrigger(), EMCalTriggerPtAnalysis::AliAnalysisTaskEmcalClustersRef::FindPatchesForTrigger(), 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 111 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 117 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 103 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 96 of file AliEmcalTriggerOfflineSelection.h.

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

Definition at line 141 of file AliEmcalTriggerOfflineSelection.cxx.

Referenced by IsOfflineSelected().

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

Definition at line 145 of file AliEmcalTriggerOfflineSelection.cxx.

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 184 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 181 of file AliEmcalTriggerOfflineSelection.h.

Referenced by GetTriggerName().

TString EMCalTriggerPtAnalysis::AliEmcalTriggerOfflineSelection::fNameClusterContainer
protected

Name of the cluster container.

Definition at line 185 of file AliEmcalTriggerOfflineSelection.h.

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

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

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