AliPhysics  ec707b8 (ec707b8)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AliEmcalTriggerMakerKernel Class Reference

Kernel of the EMCAL trigger patch makerThe trigger maker kernel contains the core functionality of the trigger maker: More...

#include <AliEmcalTriggerMakerKernel.h>

Inheritance diagram for AliEmcalTriggerMakerKernel:

Public Types

enum  ELevel0TriggerStatus_t { kNotLevel0, kLevel0Candidate, kLevel0Fired }
 

Public Member Functions

 AliEmcalTriggerMakerKernel ()
 
virtual ~AliEmcalTriggerMakerKernel ()
 
void Init ()
 
TObjArray * CreateTriggerPatches (const AliVEvent *inputevent, Bool_t useL0amp=kFALSE)
 
void SetTriggerThresholdJetLow (Int_t a, Int_t b, Int_t c)
 
void SetTriggerThresholdJetHigh (Int_t a, Int_t b, Int_t c)
 
void SetTriggerThresholdGammaLow (Int_t a, Int_t b, Int_t c)
 
void SetTriggerThresholdGammaHigh (Int_t a, Int_t b, Int_t c)
 
void SetBackgroundThreshold (Int_t t)
 
void SetL0Threshold (Int_t t)
 
void SetJetPatchsize (Int_t patchsize)
 
void SetIsMC (Bool_t isMC)
 
void SetGeometry (const AliEMCALGeometry *const geo)
 
void SetTriggerBitConfig (const AliEMCALTriggerBitConfig *const config)
 
void SetL0TimeRange (Int_t min, Int_t max)
 
void AddOfflineBadChannel (Short_t absId)
 
void ReadOfflineBadChannelFromStream (std::istream &stream)
 
void ReadOfflineBadChannelFromFile (const char *fname)
 
void Reset ()
 
void ReadTriggerData (AliVCaloTrigger *trigger)
 
void ReadCellData (AliVCaloCells *cells)
 
void BuildL1ThresholdsOffline (const AliVVZERO *vzdata)
 

Protected Types

enum  { kColsEta = 48 }
 

Protected Member Functions

ELevel0TriggerStatus_t CheckForL0 (Int_t col, Int_t row) const
 
AliEMCALTriggerAlgorithm
< double > * 
CreateGammaTriggerAlgorithm (Int_t rowmin, Int_t rowmax) const
 
AliEMCALTriggerAlgorithm
< double > * 
CreateJetTriggerAlgorithm (Int_t rowmin, Int_t rowmax) const
 
AliEMCALTriggerAlgorithm
< double > * 
CreateBkgTriggerAlgorithm (Int_t rowmin, Int_t rowmax) const
 
Bool_t IsGammaPatch (const AliEMCALTriggerRawPatch &patch) const
 
Bool_t IsJetPatch (const AliEMCALTriggerRawPatch &patch) const
 
Bool_t IsBkgPatch (const AliEMCALTriggerRawPatch &patch) const
 

Protected Attributes

AliEMCALTriggerChannelContainer fBadChannels
 Container of bad channels. More...
 
std::set< Short_t > fOfflineBadChannels
 Abd ID of offline bad channels. More...
 
const AliEMCALTriggerBitConfig * fTriggerBitConfig
 Trigger bit configuration, aliroot-dependent. More...
 
const AliEMCALGeometry * fGeometry
 ! Underlying EMCAL geometry More...
 
AliEMCALTriggerDataGrid< double > * fPatchAmplitudes
 ! TRU Amplitudes (for L0) More...
 
AliEMCALTriggerDataGrid< double > * fPatchADCSimple
 ! patch map for simple offline trigger More...
 
AliEMCALTriggerDataGrid< double > * fPatchADC
 ! ADC values map More...
 
AliEMCALTriggerDataGrid< char > * fLevel0TimeMap
 ! Map needed to store the level0 times More...
 
AliEMCALTriggerDataGrid< int > * fTriggerBitMap
 ! Map of trigger bits More...
 
AliEMCALTriggerPatchFinder
< double > * 
fPatchFinder
 ! The actual patch finder More...
 
AliEMCALTriggerAlgorithm
< double > * 
fLevel0PatchFinder
 ! Patch finder for Level0 patches More...
 
Int_t fL0MinTime
 Minimum L0 time. More...
 
Int_t fL0MaxTime
 Maximum L0 time. More...
 
Double_t fADCtoGeV
 ! Conversion factor from ADC to GeV More...
 
Int_t fJetPatchsize
 Size of a jet patch. More...
 
Int_t fThresholdConstants [4][3]
 simple offline trigger thresholds constants More...
 
ULong64_t fL1ThresholdsOffline [4]
 container for V0-dependent offline thresholds More...
 
Int_t fBkgThreshold
 threshold for the background patches (8x8) More...
 
Int_t fL0Threshold
 threshold for the L0 patches (2x2) More...
 
Bool_t fIsMC
 Set MC offset. More...
 
Int_t fDebugLevel
 Debug lebel;. More...
 

Detailed Description

Kernel of the EMCAL trigger patch maker

The trigger maker kernel contains the core functionality of the trigger maker:

  • Filling of the data grids
  • Steering and running the patch finders
  • Conversion of the raw patches obtained by the patch finders to full EMCAL trigger patch info objects. I/O, which means interaction with the ALICE analysis system, is done outside in a dedicated steering task.

Definition at line 44 of file AliEmcalTriggerMakerKernel.h.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
kColsEta 

Definition at line 166 of file AliEmcalTriggerMakerKernel.h.

Enumerator
kNotLevel0 
kLevel0Candidate 
kLevel0Fired 

Definition at line 47 of file AliEmcalTriggerMakerKernel.h.

Constructor & Destructor Documentation

AliEmcalTriggerMakerKernel::AliEmcalTriggerMakerKernel ( )

Constructor

Definition at line 43 of file AliEmcalTriggerMakerKernel.cxx.

AliEmcalTriggerMakerKernel::~AliEmcalTriggerMakerKernel ( )
virtual

Destructor

Definition at line 69 of file AliEmcalTriggerMakerKernel.cxx.

Member Function Documentation

void AliEmcalTriggerMakerKernel::AddOfflineBadChannel ( Short_t  absId)
inline

Add an offline bad channel to the set

Parameters
absIdAbsolute ID of the bad channel

Definition at line 125 of file AliEmcalTriggerMakerKernel.h.

Referenced by ReadOfflineBadChannelFromStream().

void AliEmcalTriggerMakerKernel::BuildL1ThresholdsOffline ( const AliVVZERO *  vzdata)

Build VZERO-dependent thresholds for the offline trigger

Parameters
vzdataVERO charges

Definition at line 215 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by AliEmcalTriggerMakerTask::Run().

AliEmcalTriggerMakerKernel::ELevel0TriggerStatus_t AliEmcalTriggerMakerKernel::CheckForL0 ( Int_t  col,
Int_t  row 
) const
protected

Accept trigger patch as Level0 patch. Level0 patches are identified as 2x2 FASTOR patches in the same TRU

Parameters
trgTriggers object with the pointer set to the patch to inspect
Returns
the status of the patch (not L0, candidate, fired)

Definition at line 320 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by CreateTriggerPatches().

AliEMCALTriggerAlgorithm< double > * AliEmcalTriggerMakerKernel::CreateBkgTriggerAlgorithm ( Int_t  rowmin,
Int_t  rowmax 
) const
protected

Create trigger algorithm for jet triggers

Parameters
rowminMinimum row the trigger algorithm operates on
rowmaxMaximum row the trigger algorithm operates on
Returns
The jet trigger algorithm

Definition at line 370 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by Init().

AliEMCALTriggerAlgorithm< double > * AliEmcalTriggerMakerKernel::CreateGammaTriggerAlgorithm ( Int_t  rowmin,
Int_t  rowmax 
) const
protected

Create trigger algorithm for gamma triggers

Parameters
rowminMinimum row the trigger algorithm operates on
rowmaxMaximum row the trigger algorithm operates on
Returns
The gamma trigger algorithm

Definition at line 354 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by Init().

AliEMCALTriggerAlgorithm< double > * AliEmcalTriggerMakerKernel::CreateJetTriggerAlgorithm ( Int_t  rowmin,
Int_t  rowmax 
) const
protected

Create trigger algorithm for jet triggers

Parameters
rowminMinimum row the trigger algorithm operates on
rowmaxMaximum row the trigger algorithm operates on
Returns
The jet trigger algorithm

Definition at line 362 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by Init().

TObjArray * AliEmcalTriggerMakerKernel::CreateTriggerPatches ( const AliVEvent *  inputevent,
Bool_t  useL0amp = kFALSE 
)

Run patch finders on input data. Patches are converted from raw patches into AliEMCALTriggerPatchInfo data. Trigger patches contain all information of the given category;

  • Bit selection map from the STU (bits for non-matching patch types are removed)
  • Offline trigger selection status
  • Recalculation trigger selection status There are no more several patches for the three categories. The only difference left over is the distinction of patch types according to
  • Jet patches (16x16 FAST-ors)
  • Gamma patches (2x2 FAST-ors)
  • Level0 patches (2x2 FAST-ors, using L0 amplitude and L0 times for the selection)
    Parameters
    inputeventInput ESD/AOD event, used for kinematics calculation
    Returns
    Array of reconstructed trigger patches

Definition at line 227 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by AliEmcalTriggerMakerTask::Run().

void AliEmcalTriggerMakerKernel::Init ( )

Initialize the trigger maker Kernel:

  • Allocates the data grids according to the EMCAL setup for the given run (obtained from the geometry)
  • Initialize patch finders: Different patch finders are created for EMCAL and DCAL both for gamma and jet patches, using the data grids only in the active area of the EMCAL or DCAL

Definition at line 80 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by AliEmcalTriggerMakerTask::ExecOnce().

Bool_t AliEmcalTriggerMakerKernel::IsBkgPatch ( const AliEMCALTriggerRawPatch &  patch) const
protected

Check from the bitmask whether the patch is a background patch

Parameters
patchPatch to check
Returns
True if patch is a background patch

Definition at line 388 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by CreateTriggerPatches().

Bool_t AliEmcalTriggerMakerKernel::IsGammaPatch ( const AliEMCALTriggerRawPatch &  patch) const
protected

Check from the bitmask whether the patch is a gamma patch

Parameters
patchPatch to check
Returns
True if patch is a gamma patch

Definition at line 378 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by CreateTriggerPatches().

Bool_t AliEmcalTriggerMakerKernel::IsJetPatch ( const AliEMCALTriggerRawPatch &  patch) const
protected

Check from the bitmask whether the patch is a jet patch

Parameters
patchPatch to check
Returns
True if patch is a jet patch

Definition at line 383 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by CreateTriggerPatches().

void AliEmcalTriggerMakerKernel::ReadCellData ( AliVCaloCells *  cells)

Read the EMCAL cell data

Parameters
cellsEMCAL cell data

Definition at line 191 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by AliEmcalTriggerMakerTask::Run().

void AliEmcalTriggerMakerKernel::ReadOfflineBadChannelFromFile ( const char *  fname)

Read the offline bad channel map from a text file

Parameters
fnamePath and name of the file

Definition at line 136 of file AliEmcalTriggerMakerKernel.cxx.

void AliEmcalTriggerMakerKernel::ReadOfflineBadChannelFromStream ( std::istream &  stream)

Read the offline bad channel map from a standard stream

Parameters
streamA reference to a standard stream to read from (can be a file stream)

Definition at line 126 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by ReadOfflineBadChannelFromFile().

void AliEmcalTriggerMakerKernel::ReadTriggerData ( AliVCaloTrigger *  trigger)

Read the calo trigger data

Parameters
triggerInput calo trigger data
timeMinMinimum L0 time
timeMaxMaximum L0 time
applyTimeCutIf true, only L0 amoplitudes in the range timeMin, timeMax are considered

Definition at line 151 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by AliEmcalTriggerMakerTask::Run().

void AliEmcalTriggerMakerKernel::Reset ( )

Reset data grids

Definition at line 142 of file AliEmcalTriggerMakerKernel.cxx.

Referenced by AliEmcalTriggerMakerTask::Run().

void AliEmcalTriggerMakerKernel::SetBackgroundThreshold ( Int_t  t)
inline

Definition at line 89 of file AliEmcalTriggerMakerKernel.h.

void AliEmcalTriggerMakerKernel::SetGeometry ( const AliEMCALGeometry *const  geo)
inline

Provide the EMCAL geometry to the trigger maker Kernel

Parameters
geo

Definition at line 106 of file AliEmcalTriggerMakerKernel.h.

Referenced by AliEmcalTriggerMakerTask::ExecOnce().

void AliEmcalTriggerMakerKernel::SetIsMC ( Bool_t  isMC)
inline

Define whether running on MC or not (for offset)

Parameters
isMCFlag for MC

Definition at line 100 of file AliEmcalTriggerMakerKernel.h.

Referenced by AliEmcalTriggerMakerTask::Run().

void AliEmcalTriggerMakerKernel::SetJetPatchsize ( Int_t  patchsize)
inline

Set the size of jet patches

Parameters
patchsizeSize of jet patches

Definition at line 95 of file AliEmcalTriggerMakerKernel.h.

Referenced by AliEmcalTriggerMakerTask::ExecOnce().

void AliEmcalTriggerMakerKernel::SetL0Threshold ( Int_t  t)
inline

Definition at line 90 of file AliEmcalTriggerMakerKernel.h.

void AliEmcalTriggerMakerKernel::SetL0TimeRange ( Int_t  min,
Int_t  max 
)
inline

Set range for L0 time

Parameters
minMinimum L0 time (default is 7)
maxMaximum L0 time (default is 10)

Definition at line 119 of file AliEmcalTriggerMakerKernel.h.

Referenced by AliEmcalTriggerMakerTask::ExecOnce().

void AliEmcalTriggerMakerKernel::SetTriggerBitConfig ( const AliEMCALTriggerBitConfig *const  config)
inline

Set the trigger bit configuration applied for the given data set

Parameters
configTrigger bit config applied

Definition at line 112 of file AliEmcalTriggerMakerKernel.h.

Referenced by AliEmcalTriggerMakerTask::ExecOnce().

void AliEmcalTriggerMakerKernel::SetTriggerThresholdGammaHigh ( Int_t  a,
Int_t  b,
Int_t  c 
)
inline
void AliEmcalTriggerMakerKernel::SetTriggerThresholdGammaLow ( Int_t  a,
Int_t  b,
Int_t  c 
)
inline
void AliEmcalTriggerMakerKernel::SetTriggerThresholdJetHigh ( Int_t  a,
Int_t  b,
Int_t  c 
)
inline
void AliEmcalTriggerMakerKernel::SetTriggerThresholdJetLow ( Int_t  a,
Int_t  b,
Int_t  c 
)
inline

Member Data Documentation

Double_t AliEmcalTriggerMakerKernel::fADCtoGeV
protected

! Conversion factor from ADC to GeV

Definition at line 234 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), and ReadCellData().

AliEMCALTriggerChannelContainer AliEmcalTriggerMakerKernel::fBadChannels
protected

Container of bad channels.

Definition at line 219 of file AliEmcalTriggerMakerKernel.h.

Referenced by ReadTriggerData().

Int_t AliEmcalTriggerMakerKernel::fBkgThreshold
protected

threshold for the background patches (8x8)

Definition at line 239 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), and SetBackgroundThreshold().

Int_t AliEmcalTriggerMakerKernel::fDebugLevel
protected

Debug lebel;.

Definition at line 243 of file AliEmcalTriggerMakerKernel.h.

const AliEMCALGeometry* AliEmcalTriggerMakerKernel::fGeometry
protected

! Underlying EMCAL geometry

Definition at line 222 of file AliEmcalTriggerMakerKernel.h.

Referenced by CheckForL0(), CreateTriggerPatches(), Init(), ReadCellData(), and SetGeometry().

Bool_t AliEmcalTriggerMakerKernel::fIsMC
protected

Set MC offset.

Definition at line 241 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), and SetIsMC().

Int_t AliEmcalTriggerMakerKernel::fJetPatchsize
protected

Size of a jet patch.

Definition at line 236 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateJetTriggerAlgorithm(), Init(), and SetJetPatchsize().

Int_t AliEmcalTriggerMakerKernel::fL0MaxTime
protected

Maximum L0 time.

Definition at line 233 of file AliEmcalTriggerMakerKernel.h.

Referenced by CheckForL0(), and SetL0TimeRange().

Int_t AliEmcalTriggerMakerKernel::fL0MinTime
protected

Minimum L0 time.

Definition at line 232 of file AliEmcalTriggerMakerKernel.h.

Referenced by CheckForL0(), and SetL0TimeRange().

Int_t AliEmcalTriggerMakerKernel::fL0Threshold
protected

threshold for the L0 patches (2x2)

Definition at line 240 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), and SetL0Threshold().

ULong64_t AliEmcalTriggerMakerKernel::fL1ThresholdsOffline[4]
protected

container for V0-dependent offline thresholds

Definition at line 238 of file AliEmcalTriggerMakerKernel.h.

Referenced by BuildL1ThresholdsOffline(), CreateTriggerPatches(), and Reset().

AliEMCALTriggerAlgorithm<double>* AliEmcalTriggerMakerKernel::fLevel0PatchFinder
protected

! Patch finder for Level0 patches

Definition at line 231 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), Init(), and ~AliEmcalTriggerMakerKernel().

AliEMCALTriggerDataGrid<char>* AliEmcalTriggerMakerKernel::fLevel0TimeMap
protected

! Map needed to store the level0 times

Definition at line 227 of file AliEmcalTriggerMakerKernel.h.

Referenced by Init(), Reset(), and ~AliEmcalTriggerMakerKernel().

std::set<Short_t> AliEmcalTriggerMakerKernel::fOfflineBadChannels
protected

Abd ID of offline bad channels.

Definition at line 220 of file AliEmcalTriggerMakerKernel.h.

Referenced by AddOfflineBadChannel(), and ReadCellData().

AliEMCALTriggerDataGrid<double>* AliEmcalTriggerMakerKernel::fPatchADC
protected

! ADC values map

Definition at line 226 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), Init(), Reset(), and ~AliEmcalTriggerMakerKernel().

AliEMCALTriggerDataGrid<double>* AliEmcalTriggerMakerKernel::fPatchADCSimple
protected

! patch map for simple offline trigger

Definition at line 225 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), Init(), Reset(), and ~AliEmcalTriggerMakerKernel().

AliEMCALTriggerDataGrid<double>* AliEmcalTriggerMakerKernel::fPatchAmplitudes
protected

! TRU Amplitudes (for L0)

Definition at line 224 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), Init(), Reset(), and ~AliEmcalTriggerMakerKernel().

AliEMCALTriggerPatchFinder<double>* AliEmcalTriggerMakerKernel::fPatchFinder
protected

! The actual patch finder

Definition at line 230 of file AliEmcalTriggerMakerKernel.h.

Referenced by CreateTriggerPatches(), Init(), and ~AliEmcalTriggerMakerKernel().

Int_t AliEmcalTriggerMakerKernel::fThresholdConstants[4][3]
protected
const AliEMCALTriggerBitConfig* AliEmcalTriggerMakerKernel::fTriggerBitConfig
protected
AliEMCALTriggerDataGrid<int>* AliEmcalTriggerMakerKernel::fTriggerBitMap
protected

! Map of trigger bits

Definition at line 228 of file AliEmcalTriggerMakerKernel.h.

Referenced by Init(), Reset(), and ~AliEmcalTriggerMakerKernel().


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