AliPhysics  9538fdd (9538fdd)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalCellMonitorTask Class Reference

Simple monitoring task for cell related quantities. More...

#include <AliEmcalCellMonitorTask.h>

Inheritance diagram for AliEmcalCellMonitorTask:

Classes

class  AliEmcalCellMonitorAmplitudeBinning
 Defining binning in amplitude direction. More...
 

Public Member Functions

 AliEmcalCellMonitorTask ()
 
 AliEmcalCellMonitorTask (const char *name)
 
virtual ~AliEmcalCellMonitorTask ()
 
void SetMinCellAmplitudeForCellTime (Double_t minAmp)
 
void SetRequestTrigger (ULong_t triggerbits, TString triggerstring="")
 
void SetRun2 ()
 
void SetBadCell (Int_t cellId)
 
void SetNameClusterContainer (const TString &nameclusters)
 
void InitBadChannelsFromContainer (const TString &containername)
 

Protected Member Functions

virtual void UserCreateOutputObjects ()
 
virtual void UserExec (Option_t *)
 
virtual void ExecOnce ()
 
virtual void RunChanged ()
 
void CreateHistograms ()
 
bool IsCellMasked (Int_t cellId) const
 
void LoadCellMasking ()
 

Private Member Functions

 AliEmcalCellMonitorTask (const AliEmcalCellMonitorTask &ref)
 
AliEmcalCellMonitorTaskoperator= (const AliEmcalCellMonitorTask &ref)
 

Private Attributes

Bool_t fLocalInitialized
 Check whether task is initialized (for ExecOnce) More...
 
THistManagerfHistManager
 ! Histogram handler More...
 
AliEMCALGeometry * fGeometry
 ! EMCAL geometry More...
 
Double_t fMinCellAmplitude
 Min. cell amplitude requested for cell time and frequency. More...
 
ULong_t fRequestTrigger
 Trigger selection. More...
 
TString fTriggerString
 Trigger string in addition to trigger selection. More...
 
TString fBadChannelContainer
 Bad channel container name. More...
 
TString fNameClusters
 Name of the cluster container (as TClonesArray) More...
 
Int_t fNumberOfCells
 Number of cells. More...
 
Int_t fOldRun
 ! Old Run number (for run change check) More...
 
std::vector< Int_tfMaskedCells
 Vector of masked cells. More...
 

Detailed Description

Simple monitoring task for cell related quantities.

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

This task monitors simple cell quantities like

  • Amplitude distribution
  • Time distribution
  • Count rate in col-row space
  • Integrated amplitude in col-row space In addition, in case the task has access to reconstructed clusters, it plots
  • Frequency of a cell contributing to clusters
  • Summed cell amplitude fraction in a cluster In order to switch on cluster handling a cluster input container needs to be provided:
...
task->SetNameClusterContainer("caloClusters");

Note: When working with the default branches the names are:

  • caloClusters for ESDs
  • CaloClusters for AODs

The task should run separately for different trigger classes. This is handled in the event selection provided from outside:

...
// Selecting EMCAL gamma triggered events, high threshold
task->SetRequestTrigger(AliVEvent::kEGA, "EG1");

It can be added to the train using the add macro

$ALICE_PHYSICS/PWG/EMCAL/AddEmcalCellMonitorTask.C

Definition at line 58 of file AliEmcalCellMonitorTask.h.

Constructor & Destructor Documentation

AliEmcalCellMonitorTask::AliEmcalCellMonitorTask ( )

Dummy constructor, for ROOT I/O only

Definition at line 40 of file AliEmcalCellMonitorTask.cxx.

AliEmcalCellMonitorTask::AliEmcalCellMonitorTask ( const char *  name)

Default constructor, setting also the name and defining the output type

Parameters
nameName of the task

Definition at line 56 of file AliEmcalCellMonitorTask.cxx.

AliEmcalCellMonitorTask::~AliEmcalCellMonitorTask ( )
virtual

Destructor

Definition at line 72 of file AliEmcalCellMonitorTask.cxx.

AliEmcalCellMonitorTask::AliEmcalCellMonitorTask ( const AliEmcalCellMonitorTask ref)
private

Member Function Documentation

void AliEmcalCellMonitorTask::CreateHistograms ( )
protected

Create the output histograms

For all supermodules the following histograms will be created:

  • cellAmplitude with the cell amplitude distribution
  • cellTime with the cell time distribution

For each supermodule the following histograms will be created:

  • cellAmpSM with the integrated amplitude for cells within a supermodule in col and row
  • cellCountSM with the count rate for cells within a supermodule in col and row

Function is called in ExecOnce

Definition at line 163 of file AliEmcalCellMonitorTask.cxx.

Referenced by ExecOnce().

void AliEmcalCellMonitorTask::ExecOnce ( )
protectedvirtual

Perform initializations of the task which require a run number (only available as soon as the first event is available). This contains:

  • Loading EMCAL geometry
  • Creating histograms As the dimension for most of the histograms is based on the amount of cells, which is obtained from the EMCAL geometry, the histograms are not initialized in UserCreateOutputObjects but in ExecOnce.

Definition at line 83 of file AliEmcalCellMonitorTask.cxx.

Referenced by UserExec().

void AliEmcalCellMonitorTask::InitBadChannelsFromContainer ( const TString containername)
inline

Read bad channels from OADB container and set the cell with the ID as bad.

Parameters
[in]containernameName of the OADB container.

Definition at line 121 of file AliEmcalCellMonitorTask.h.

bool AliEmcalCellMonitorTask::IsCellMasked ( Int_t  cellId) const
protected

Check whether cell with a given ID is masked by the user

Parameters
cellIdCell ID to be checked
Returns
True if the cell is masked, false otherwise

Definition at line 204 of file AliEmcalCellMonitorTask.cxx.

Referenced by UserExec().

void AliEmcalCellMonitorTask::LoadCellMasking ( )
protected

Load the cell masking from the OADB container into the task

Definition at line 184 of file AliEmcalCellMonitorTask.cxx.

Referenced by RunChanged().

AliEmcalCellMonitorTask& AliEmcalCellMonitorTask::operator= ( const AliEmcalCellMonitorTask ref)
private
void AliEmcalCellMonitorTask::RunChanged ( )
protectedvirtual

Perform tasks necessary when the run number changes. In this case a new masked cell map is loaded and masked cells are marked in a historgam.

Definition at line 90 of file AliEmcalCellMonitorTask.cxx.

Referenced by UserExec().

void AliEmcalCellMonitorTask::SetBadCell ( Int_t  cellId)

Mark cell as bad (i.e) exclude from running

Parameters
cellIdCell to be masked

Definition at line 199 of file AliEmcalCellMonitorTask.cxx.

Referenced by LoadCellMasking().

void AliEmcalCellMonitorTask::SetMinCellAmplitudeForCellTime ( Double_t  minAmp)
inline

Set the minimum amplitude requested for a cell in order to use the cell time in the cell time plot

Parameters
minAmpMin. cell amplitude

Definition at line 82 of file AliEmcalCellMonitorTask.h.

void AliEmcalCellMonitorTask::SetNameClusterContainer ( const TString nameclusters)
inline

Set the name of the cluster container. If provided the following additional histograms will be provided:

  • Occurrency of a cell inside clusters: cellClusterOccurrency
  • Summed energy distribution of a cell in clusters: cellSumAmplitudeCluster In case of the summed energy the value is calculated summing up the energy of all occurrences within one cluster
    Parameters
    [in]nameclustersName of the cluster container

Definition at line 114 of file AliEmcalCellMonitorTask.h.

void AliEmcalCellMonitorTask::SetRequestTrigger ( ULong_t  triggerbits,
TString  triggerstring = "" 
)
inline

Define trigger selection. It can consist of trigger bits and a trigger string

Parameters
triggerbitsTrigger bit selection
triggerstringTrigger string (i.e. EG1, EG2, DG1, ...)

Definition at line 89 of file AliEmcalCellMonitorTask.h.

void AliEmcalCellMonitorTask::SetRun2 ( )
inline

Set number of Cells in order to match run2 geometry

Definition at line 97 of file AliEmcalCellMonitorTask.h.

void AliEmcalCellMonitorTask::UserCreateOutputObjects ( )
protectedvirtual

Prepare histogram manager for later initialization. As the histograms depend on the number of cells which is available only for after the first event is initialized, the histograms are not created here but in ExecOnce.

Definition at line 76 of file AliEmcalCellMonitorTask.cxx.

void AliEmcalCellMonitorTask::UserExec ( Option_t )
protectedvirtual

Event loop.

Running over all cells and filling the cell-related quantities specified in the class documentation.

Parameters
[in]

Definition at line 95 of file AliEmcalCellMonitorTask.cxx.

Member Data Documentation

TString AliEmcalCellMonitorTask::fBadChannelContainer
private

Bad channel container name.

Definition at line 225 of file AliEmcalCellMonitorTask.h.

Referenced by InitBadChannelsFromContainer(), LoadCellMasking(), and RunChanged().

AliEMCALGeometry* AliEmcalCellMonitorTask::fGeometry
private

! EMCAL geometry

Definition at line 220 of file AliEmcalCellMonitorTask.h.

Referenced by ExecOnce(), UserExec(), and ~AliEmcalCellMonitorTask().

THistManager* AliEmcalCellMonitorTask::fHistManager
private

! Histogram handler

Definition at line 219 of file AliEmcalCellMonitorTask.h.

Referenced by CreateHistograms(), RunChanged(), UserCreateOutputObjects(), and UserExec().

Bool_t AliEmcalCellMonitorTask::fLocalInitialized
private

Check whether task is initialized (for ExecOnce)

Definition at line 218 of file AliEmcalCellMonitorTask.h.

Referenced by UserExec().

std::vector<Int_t> AliEmcalCellMonitorTask::fMaskedCells
private

Vector of masked cells.

Definition at line 230 of file AliEmcalCellMonitorTask.h.

Referenced by IsCellMasked(), LoadCellMasking(), RunChanged(), and SetBadCell().

Double_t AliEmcalCellMonitorTask::fMinCellAmplitude
private

Min. cell amplitude requested for cell time and frequency.

Definition at line 222 of file AliEmcalCellMonitorTask.h.

Referenced by SetMinCellAmplitudeForCellTime(), and UserExec().

TString AliEmcalCellMonitorTask::fNameClusters
private

Name of the cluster container (as TClonesArray)

Definition at line 226 of file AliEmcalCellMonitorTask.h.

Referenced by SetNameClusterContainer(), and UserExec().

Int_t AliEmcalCellMonitorTask::fNumberOfCells
private

Number of cells.

Definition at line 227 of file AliEmcalCellMonitorTask.h.

Referenced by CreateHistograms(), ExecOnce(), and SetRun2().

Int_t AliEmcalCellMonitorTask::fOldRun
private

! Old Run number (for run change check)

Definition at line 228 of file AliEmcalCellMonitorTask.h.

Referenced by UserExec().

ULong_t AliEmcalCellMonitorTask::fRequestTrigger
private

Trigger selection.

Definition at line 223 of file AliEmcalCellMonitorTask.h.

Referenced by SetRequestTrigger(), and UserExec().

TString AliEmcalCellMonitorTask::fTriggerString
private

Trigger string in addition to trigger selection.

Definition at line 224 of file AliEmcalCellMonitorTask.h.

Referenced by SetRequestTrigger(), and UserExec().


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