AliPhysics  d565ceb (d565ceb)
AliEmcalContainerUtils Class Reference

#include <AliEmcalContainerUtils.h>

Public Types

enum  InputObject_t { kNoDefinedInputObject = -1, kCaloCells = 0, kCluster = 1, kTrack = 2 }
 Type of input object to be created More...
 

Static Public Member Functions

static std::string DetermineUseDefaultName (InputObject_t objType)
 
static std::string DetermineUseDefaultName (InputObject_t objType, bool esdMode, bool returnObjectType=false)
 
static const AliVEvent * GetEvent (const AliVEvent *inputEvent, bool isEmbedding=false)
 
static AliVEvent * GetEvent (AliVEvent *inputEvent, bool isEmbedding=false)
 
template<class T >
static TAddContainer (const char *n, TObjArray &collection)
 
template<class T >
static TGetContainer (Int_t i, const TObjArray &collection)
 
template<class T >
static TGetContainer (const char *name, const TObjArray &collection)
 

Detailed Description

Definition at line 38 of file AliEmcalContainerUtils.h.

Member Enumeration Documentation

Type of input object to be created

Enumerator
kNoDefinedInputObject 

! Not initialized type

kCaloCells 

! Calo cells

kCluster 

! Cluster container

kTrack 

! Track container

Definition at line 44 of file AliEmcalContainerUtils.h.

Member Function Documentation

template<class T >
T * AliEmcalContainerUtils::AddContainer ( const char *  n,
TObjArray collection 
)
inlinestatic

Create new container and attach it to the passed collection. The name provided to this function must match the name of the array attached to the new container inside the input event.

Parameters
[in]nName of the container and the array the container points to
[in]collectionCollection into which the new container will be added
Returns
Pointer to the new container

Definition at line 84 of file AliEmcalContainerUtils.h.

std::string AliEmcalContainerUtils::DetermineUseDefaultName ( InputObject_t  objType)
static

Determines the "usedefault" pattern using the Analysis Manager to determine the datatype automatically. This will often work fine, but it may not always. Note that the use cause for this function is assumed to be solely about returning the "usedefault" collection name and not the object type.

Parameters
[in]objTypeType of the input object
Returns
The name corresponding to the request branch name.

Definition at line 25 of file AliEmcalContainerUtils.cxx.

Referenced by AliEmcalCorrectionTask::AddContainer(), AliEmcalCorrectionTask::CheckForContainerArray(), PWGJE::EMCALJetTasks::AliAnalysisTaskEmcalJetHCorrelations::ConfigureForEmbeddingAnalysis(), PWGJE::EMCALJetTasks::AliAnalysisTaskEmcalJetHCorrelations::ConfigureForStandardAnalysis(), AliEmcalCopyCollection::CreateNewObjectBranch(), PWGJE::EMCALJetTasks::AliAnalysisTaskEmcalJetHCorrelations::CreateParticleOrTrackContainer(), AliEmcalCorrectionCellCombineCollections::Initialize(), AliEmcalCopyCollection::NewBranch(), PWGJE::EMCALJetTasks::AliAnalysisTaskEmcalJetHCorrelations::RetrieveAndInitializeJESCorrectionHist(), and AliEmcalCorrectionTask::SetupCellsInfo().

std::string AliEmcalContainerUtils::DetermineUseDefaultName ( InputObject_t  objType,
bool  esdMode,
bool  returnObjectType = false 
)
static

Given a container type, it returns the proper default branch name based on the "usedefault" pattern. This is useful to properly handle creating input objects such as AliEmcalContainer derived objects. If returnObjectType is true, it returns the "default" (unlikely to change) object type instead of the branch name. This is useful to properly determine the type of an object for a TClonesArray.

This function can also be very useful in places such as an AddTask(). Using it can significantly reduce code duplication!

Parameters
[in]objTypeType of the input object
[in]esdModeTrue if running with an ESD
[in]returnObjectTypeReturns the "default" type of the object rather than the branch name
Returns
The name corresponding to the request branch name or object type.

Definition at line 78 of file AliEmcalContainerUtils.cxx.

template<class T >
T * AliEmcalContainerUtils::GetContainer ( Int_t  i,
const TObjArray collection 
)
inlinestatic

Get \( i^{th} \) container contained in the collection

Parameters
[in]iIndex of the container
[in]collectionCollection which stores available containers
Returns
Container found for the given index (NULL if no container exists for that index)

Definition at line 102 of file AliEmcalContainerUtils.h.

template<class T >
T * AliEmcalContainerUtils::GetContainer ( const char *  name,
const TObjArray collection 
)
inlinestatic

Find container container in the collection according to its name

Parameters
[in]nameName of the container
[in]collectionCollection which stores available containers
Returns
Container found under the given name

Definition at line 116 of file AliEmcalContainerUtils.h.

const AliVEvent * AliEmcalContainerUtils::GetEvent ( const AliVEvent *  inputEvent,
bool  isEmbedding = false 
)
static

Get the proper event based on whether embedding is enabled or not. Useful when determining from which event an input object should be retrieved. It could either be the current input event or an embedded event. This is the const version.

Parameters
[in]inputEventThe input event of the analysis. Will be returned if nothing else is requested. Usually just InputEvent().
[in]isEmbeddingTrue if the event from embedding should be used.
Returns
The input event to be used

Definition at line 154 of file AliEmcalContainerUtils.cxx.

Referenced by AliEmcalCorrectionTask::CheckForContainerArray(), AliEmcalCopyCollection::CreateNewObjectBranch(), GetEvent(), AliEmcalCorrectionEventManager::InputEvent(), and AliEmcalCorrectionTask::SetCellsObjectInCellContainerBasedOnProperties().

AliVEvent * AliEmcalContainerUtils::GetEvent ( AliVEvent *  inputEvent,
bool  isEmbedding = false 
)
static

Get the proper event based on whether embedding is enabled or not. Useful when determining from which event an input object should be retrieved. It could either be the current input event or an embedded event. This is the non-const version.

Parameters
[in]inputEventThe input event of the analysis. Will be returned if nothing else is requested. Usually just InputEvent().
[in]isEmbeddingTrue if the event from embedding should be used.
Returns
The input event to be used

Definition at line 181 of file AliEmcalContainerUtils.cxx.


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