1 #ifndef ALIEMCALTRIGGERMAKERKERNEL_H 2 #define ALIEMCALTRIGGERMAKERKERNEL_H 16 class AliEMCALTriggerPatchInfo;
17 class AliEMCALTriggerRawPatch;
18 class AliEMCALGeometry;
20 class AliVCaloTrigger;
23 class AliEMCALTriggerBitConfig;
94 void CreateTriggerPatches(
const AliVEvent *inputevent, std::vector<AliEMCALTriggerPatchInfo> &outputcont,
Bool_t useL0amp=kFALSE);
124 double GetL0TriggerChannelAmplitude(
Int_t col,
Int_t row)
const;
132 double GetTriggerChannelADC(
Int_t col,
Int_t row)
const;
140 double GetTriggerChannelEnergyRough(
Int_t col,
Int_t row)
const;
148 double GetTriggerChannelADCSimple(
Int_t col,
Int_t row)
const;
156 double GetTriggerChannelEnergy(
Int_t col,
Int_t row)
const;
164 double GetTriggerChannelEnergySmeared(
Int_t col,
Int_t row)
const;
170 double GetDataGridDimensionRows()
const;
182 void SetGeometry(
const AliEMCALGeometry *
const geo) { fGeometry = geo; }
188 void SetTriggerBitConfig(
const AliEMCALTriggerBitConfig *
const config);
221 void ReadFastORBadChannelFromStream(std::istream& stream);
226 void ClearFastORBadChannels();
232 void ReadFastORBadChannelFromFile(
const char* fname);
244 void ReadOfflineBadChannelFromStream(std::istream& stream);
250 void ReadOfflineBadChannelFromFile(
const char* fname);
255 void ClearOfflineBadChannels();
261 void ReadFastORPedestalFromStream(std::istream& stream);
267 void ReadFastORPedestalFromFile(
const char* fname);
333 void ReadTriggerData(AliVCaloTrigger *trigger);
345 void ReadCellData(AliVCaloCells *cells);
351 void BuildL1ThresholdsOffline(
const AliVVZERO *vzdata);
379 fSmearModelMean = mean;
380 fSmearModelSigma = width;
401 void ConfigureForPbPb2015();
406 void ConfigureForPP2015();
411 void ConfigureForPP20158x8();
416 void ConfigureForPPb2013();
421 void ConfigureForPP2012();
426 void ConfigureForPbPb2011();
431 void ConfigureForPP2011();
453 Bool_t IsGammaPatch(
const AliEMCALTriggerRawPatch &patch)
const;
459 Bool_t IsJetPatch(
const AliEMCALTriggerRawPatch &patch)
const;
465 Bool_t IsBkgPatch(
const AliEMCALTriggerRawPatch &patch)
const;
474 bool HasPHOSOverlap(
const AliEMCALTriggerRawPatch &patch)
const;
489 ULong64_t fL1ThresholdsOffline[4];
Int_t fBkgThreshold
threshold for the background patches (8x8)
Double_t fMinCellAmplitude
Minimum amplitude in cell required to be considered for filling the data grid.
AliEMCALTriggerDataGrid< int > * fTriggerBitMap
! Map of trigger bits
TArrayF fFastORPedestal
FastOR pedestal.
void AddFastORBadChannel(Short_t absId)
Add a FastOR bad channel to the list.
void SetSmearThreshold(Double_t threshold)
Set the energy threshold for smearing.
Bool_t fConfigured
Switch specifying whether the trigger maker kernel has been configured for a given data set...
Int_t fMinCellAmp
Minimum offline amplitude of the cells used to generate the patches.
void SetUpperCellTimeCut(Double_t maxCellTime)
Set upper cut on the cell time allowed to accept the cell contributing to cell offline energy / offli...
void SetIsMC(Bool_t isMC)
Define whether running on MC or not (for offset)
Bool_t fApplyOnlineBadChannelsToOffline
Apply online bad channels to offline ADC values.
Int_t fMinL1FastORAmp
Minimum L1 amplitude of the FastORs used to generate the patches.
const AliEMCALTriggerBitConfig * fTriggerBitConfig
Trigger bit configuration, aliroot-dependent.
const AliEMCALGeometry * fGeometry
! Underlying EMCAL geometry
void SetFastORandCellThresholds(Int_t l0, Int_t l1, Int_t cell)
Set thresholds applied to FastORs and offline cells before patch reconstruction.
Bool_t fIsMC
Set MC offset.
void SetAcceptCellTimeRange(Double_t minCellTime, Double_t maxCellTime)
Set symmmetric limit of the cell time allowed to accept the cell contributing to cell offline energy ...
void SetMinFEEAmplitude(Double_t minamp)
Set cut on the minimum cell amplitude.
void ResetFastORPedestal()
Reset the FastOR pedestal array.
void SetMaxAbsCellTime(Double_t maxCellTime)
Set symmmetric limit of the cell time allowed to accept the cell contributing to cell offline energy ...
void SetTriggerThresholdGammaHigh(Int_t a, Int_t b, Int_t c)
Double_t fSmearThreshold
Smear threshold: Only cell energies above threshold are smeared.
void SetL1ADCtoGeVConversion(Double_t conversionfactor)
Set conversion between ADC counts and energy in GeV.
void SetApplyOnlineBadChannelMaskingToOffline(Bool_t doApply=kTRUE)
Apply online bad channel masking to offline channel energies. This means that cell energies in cells ...
Double_t fADCtoGeV
! Conversion factor from ADC to GeV
const std::set< Short_t > & GetListOfOfflineBadCellAbsIDs() const
Get the list of bad cells used when calculating offline patch energy.
void AddOfflineBadChannel(Short_t absId)
Add an offline bad channel to the set.
std::set< Short_t > fBadChannels
Container of bad channels.
void SetTriggerThresholdGammaLow(Int_t a, Int_t b, Int_t c)
Int_t fL0Threshold
threshold for the L0 patches (2x2)
const std::set< Short_t > & GetListOfBadFastORAbsIDs() const
Get the list of online masked FastOR's used in the trigger maker.
AliEMCALTriggerDataGrid< double > * fPatchAmplitudes
! TRU Amplitudes (for L0)
void SetL0TimeRange(Int_t min, Int_t max)
Set range for L0 time.
AliEMCALTriggerDataGrid< double > * fPatchADC
! ADC values map
Int_t fMinL0FastORAmp
Minimum L0 amplitude of the FastORs used to generate the patches.
void SetGeometry(const AliEMCALGeometry *const geo)
Provide the EMCAL geometry to the trigger maker Kernel.
Int_t fDebugLevel
Debug lebel;.
std::set< Short_t > fOfflineBadChannels
Abd ID of offline bad channels.
void SetSmearModel(TF1 *mean, TF1 *width)
Set energy-dependent models for gaussian energy smearing.
AliEMCALTriggerPatchFinder< double > * fPatchFinder
The actual patch finder.
AliEMCALTriggerDataGrid< double > * fPatchADCSimple
! patch map for simple offline trigger
Kernel of the EMCAL trigger patch maker.
void SetTriggerThresholdJetHigh(Int_t a, Int_t b, Int_t c)
AliEMCALTriggerDataGrid< char > * fLevel0TimeMap
! Map needed to store the level0 times
AliEMCALTriggerAlgorithm< double > * fLevel0PatchFinder
Patch finder for Level0 patches.
TF1 * fSmearModelMean
Smearing parameterization for the mean.
Int_t fL0MinTime
Minimum L0 time.
void SetLowerCellTimeCut(Double_t minCellTime)
Set lower cut on the cell time allowed to accept the cell contributing to cell offline energy / offli...
Bool_t IsConfigured() const
Int_t fL0MaxTime
Maximum L0 time.
void SetTriggerThresholdJetLow(Int_t a, Int_t b, Int_t c)
void SetL0Threshold(Int_t t)
AliEMCALTriggerDataGrid< double > * fPatchEnergySimpleSmeared
! Data grid for smeared energy values from cell energies
void SetBackgroundThreshold(Int_t t)
TF1 * fSmearModelSigma
Smearing parameterization for the width.
const Double_t kEMCL0ADCtoGeV_AP