15 #include <TClonesArray.h>
16 #include <THashList.h>
17 #include <THnSparse.h>
19 #include <AliESDEvent.h>
20 #include <AliEMCALTriggerOnlineQAPbPb.h>
21 #include <AliEMCALTriggerQA.h>
22 #include <AliEMCALTriggerPatchInfo.h>
23 #include <AliEMCALTriggerFastOR.h>
24 #include <AliEMCALTriggerConstants.h>
25 #include <AliEMCALTriggerOnlineQAPP.h>
30 using namespace EMCALTrigger;
41 fTriggerPatchesName(
"EmcalTriggers"),
48 fTimeStampBinWidth(0),
60 fTriggerPatchesName(
"EmcalTriggers"),
67 fTimeStampBinWidth(0),
77 AliInfo(
"Setting up the task for pp collisions.");
88 AliInfo(
"Setting up the task for PbPb collisions.");
129 if (!cls.InheritsFrom(
"AliEMCALTriggerPatchInfo")) {
130 AliError(Form(
"%s: Objects of type %s in %s are not inherited from AliEMCALTriggerPatchInfo!",
138 AliError(Form(
"%s: Unable to get trigger patch container with name %s. Aborting", GetName(),
fTriggerPatchesName.Data()));
162 if (triggerOffline) {
196 AliDebug(2, Form(
"nPatches = %d", nPatches));
198 for (
Int_t i = 0; i < nPatches; i++) {
199 AliDebug(2, Form(
"Processing bkg patch %d", i));
201 AliEMCALTriggerPatchInfo* patch =
static_cast<AliEMCALTriggerPatchInfo*
>(
fTriggerPatches->At(i));
202 if (!patch)
continue;
210 for (
Int_t i = 0; i < nPatches; i++) {
211 AliDebug(2, Form(
"Processing patch %d", i));
213 AliEMCALTriggerPatchInfo* patch =
static_cast<AliEMCALTriggerPatchInfo*
>(
fTriggerPatches->At(i));
214 if (!patch)
continue;
222 AliEMCALTriggerFastOR fastor;
224 Int_t globCol = -1, globRow = -1;
234 if (L1amp < 0) L1amp = 0;
237 if (L0amp < 0) L0amp = 0;
245 for(
int itime = 0; itime < nl0times; itime++){
246 time = l0times[itime];
251 fastor.Initialize(L0amp, L1amp, globRow, globCol, time,
fGeom);
259 AliEMCALTriggerQA::AliEMCALCellInfo cellInfo;
260 for (
Int_t pos = 0; pos < ncells; pos++) {
263 cellInfo.Set(absId, amp);
282 AliEMCALTriggerQA* qa = 0;
283 while ((qa = static_cast<AliEMCALTriggerQA*>(next()))) {
void SetNCentBins(Int_t n)
void UserCreateOutputObjects()
Int_t fADCperBin
ADC counts per bin.
Int_t fNcentBins
how many centrality bins
AliEMCALGeometry * fGeom
!emcal geometry
TList * fOutput
!output list
TClonesArray * fTriggerPatches
! trigger array in
UInt_t fTimeStampBinWidth
Time stamp bin width.
Class to do some fast QA of the EMCal trigger. Useful also to tune trigger thresholds.
AliESDEvent * fESDEvent
! current ESD event
void SetForceBeamType(EBeamType_t f)
Bool_t fDCalPlots
Whether to add DCal QA plots.
TString fTriggerPatchesName
name of input trigger array
void SetADCperBin(Int_t n)
Class to generate EMCal trigger QA plots in pp collisions.
void UserCreateOutputObjects()
UInt_t fMinTimeStamp
Minimum event time stamp (only ESD)
Int_t fMinAmplitude
Minimum trigger patch amplitude.
AliVCaloCells * fCaloCells
!cells
Base task in the EMCAL framework (lighter version of AliAnalysisTaskEmcal)
virtual ~AliEmcalTriggerQATask()
Bool_t fInitialized
!whether or not the task has been already initialized
Int_t fCentBin
!event centrality bin
void EnableDCal(Bool_t e=kTRUE)
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
TObjArray fEMCALTriggerQA
produces the QA histograms
UInt_t fMaxTimeStamp
Maximum event time stamp (only ESD)
AliVCaloTrigger * fCaloTriggers
!calo triggers
void SetMakeGeneralHistograms(Bool_t g)
AliEMCALTriggerQA * GetTriggerQA(Int_t i=0)