AliPhysics  ec7afe5 (ec7afe5)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEmcalEmbeddingHelper Class Reference

Implementation of task to embed external events. More...

#include <AliAnalysisTaskEmcalEmbeddingHelper.h>

Inheritance diagram for AliAnalysisTaskEmcalEmbeddingHelper:

Public Member Functions

 AliAnalysisTaskEmcalEmbeddingHelper ()
 
 AliAnalysisTaskEmcalEmbeddingHelper (const char *name)
 
virtual ~AliAnalysisTaskEmcalEmbeddingHelper ()
 
void UserExec (Option_t *option)
 
void UserCreateOutputObjects ()
 
void Terminate (Option_t *option)
 
AliVEvent * GetExternalEvent () const
 
Properties of the embedding helper
bool Initialize ()
 
Int_t GetPtHardBin () const
 
Int_t GetAnchorRun () const
 
TString GetTreeName () const
 
Bool_t GetRandomEventNumberAccess () const
 
Bool_t GetRandomFileAccess () const
 
TString GetFilePattern () const
 
TString GetInputFilename () const
 
Int_t GetStartingFileIndex () const
 
TString GetFileListFilename () const
 
bool GetCreateHistos () const
 
void SetPtHardBin (Int_t n)
 Set the pt hard bin which will be added into the file pattern. Can also be omitted and set directly in the pattern. More...
 
void SetNPtHardBins (Int_t n)
 Set the number of pt hard bins in the production to properly format the histograms. More...
 
void SetAnchorRun (Int_t r)
 Sets the anchor run which will be added into the file pattern. Can also be omitted and set directly in the pattern. More...
 
void SetESD (const char *treeName="esdTree")
 Set to embed from ESD. More...
 
void SetAOD (const char *treeName="aodTree")
 Set to embed from AOD. More...
 
void SetRandomEventNumberAccess (Bool_t b)
 
void SetRandomFileAccess (Bool_t b)
 Randomly select the first file to embed from the file list. Continues sequentially afterwards. More...
 
void SetFilePattern (const char *pattern)
 Sets the file pattern to select AliEn files. This pattern is used as input to the alien_find command. More...
 
void SetInputFilename (const char *filename)
 
void SetStartingFileIndex (Int_t n)
 Select the file ID to start embedding from. More...
 
void SetFileListFilename (const char *filename)
 Set the path to a file containing the list of files to embed. More...
 
void SetCreateHistos (bool b)
 Create QA histograms. These are necessary for proper scaling, so be careful disabling them! More...
 
Options for the embedded event
UInt_t GetTriggerMask () const
 
Double_t GetZVertexCut () const
 
Double_t GetMaxVertexDistance () const
 
void SetTriggerMask (UInt_t triggerMask)
 
void SetZVertexCut (Double_t zVertex)
 
void SetMaxVertexDistance (Double_t distance)
 
Properties of Embedded Event
AliVHeader * GetEventHeader () const
 
AliGenPythiaEventHeader * GetPythiaHeader () const
 
double GetPythiaXSection () const
 
int GetPythiaTrials () const
 
double GetPythiaPtHard () const
 

Static Public Member Functions

static const
AliAnalysisTaskEmcalEmbeddingHelper
GetInstance ()
 

Protected Member Functions

bool GetFilenames ()
 
std::string GenerateUniqueFileListFilename ()
 
void DetermineFirstFileToEmbed ()
 
void SetupEmbedding ()
 
Bool_t SetupInputFiles ()
 
std::string DeterminePythiaXSecFilename (TString baseFileName, TString pythiaBaseFilename, bool testIfExists)
 
Bool_t GetNextEntry ()
 
void SetEmbeddedEventProperties ()
 
void RecordEmbeddedEventProperties ()
 
Bool_t IsEventSelected ()
 
Bool_t InitEvent ()
 
void InitTree ()
 
bool PythiaInfoFromCrossSectionFile (std::string filename)
 

Protected Attributes

UInt_t fTriggerMask
 Trigger selection mask. More...
 
Double_t fZVertexCut
 Z vertex cut on embedded event. More...
 
Double_t fMaxVertexDist
 Max distance between Z vertex of internal and embedded event. More...
 
bool fInitializedConfiguration
 Notes if the configuration has been initialized. More...
 
bool fInitializedNewFile
 ! Notes where the entry indices have been initialized for a new tree in the chain More...
 
bool fInitializedEmbedding
 ! Notes where the TChain has been initialized for embedding More...
 
bool fWrappedAroundTree
 ! Notes whether we have wrapped around the tree, which is important if the offset into the tree is non-zero More...
 
TString fTreeName
 Name of the ESD/AOD tree where the events are to be found. More...
 
Int_t fAnchorRun
 Anchor run for the given pythia production. More...
 
Int_t fNPtHardBins
 Total number of pt hard bins. More...
 
Int_t fPtHardBin
 ptHard bin for the given pythia production More...
 
Bool_t fRandomEventNumberAccess
 If true, it will start embedding from a random entry in the file rather than from the first. More...
 
Bool_t fRandomFileAccess
 If true, it will start embedding from a random file in the input files list. More...
 
bool fCreateHisto
 If true, create QA histograms. More...
 
TString fFilePattern
 File pattern to select AliEn files using alien_find. More...
 
TString fInputFilename
 Filename of input root files. More...
 
TString fFileListFilename
 Name of the file list containing paths to files to embed. More...
 
Int_t fFilenameIndex
 Index of vector containing paths to files to embed. More...
 
std::vector< std::string > fFilenames
 Paths to the files to embed. More...
 
std::vector< std::string > fPythiaCrossSectionFilenames
 Paths to the pythia xsection files. More...
 
TFile * fExternalFile
 ! External file used for embedding More...
 
TChainfChain
 ! External TChain (tree) containing the events available for embedding More...
 
Int_t fCurrentEntry
 ! Current entry in the current tree More...
 
Int_t fLowerEntry
 ! First entry of the current tree to be used for embedding More...
 
Int_t fUpperEntry
 ! Last entry of the current tree to be used for embedding More...
 
Int_t fOffset
 ! Offset from fLowerEntry where the loop over the tree should start More...
 
Int_t fMaxNumberOfFiles
 ! Max number of files that are in the TChain More...
 
Int_t fFileNumber
 ! File number corresponding to the current tree More...
 
THistManager fHistManager
 Manages access to all histograms. More...
 
AliEmcalListfOutput
 ! List which owns the output histograms to be saved More...
 
AliVEvent * fExternalEvent
 ! Current external event available for embedding More...
 
AliVHeader * fExternalHeader
 ! Header of the current external event More...
 
AliGenPythiaEventHeader * fPythiaHeader
 ! Pythia header of the current external event More...
 
int fPythiaTrials
 ! Number of pythia trials for the current event (extracted from the pythia header). More...
 
int fPythiaTrialsAvg
 ! Average number of trials extracted from a xsec file. More...
 
double fPythiaCrossSection
 ! Pythia cross section for the current event (extracted from the pythia header). More...
 
double fPythiaCrossSectionAvg
 ! Average pythia cross section extracted from a xsec file. More...
 
double fPythiaPtHard
 ! Pt hard of the current event (extracted from the pythia header). More...
 

Static Protected Attributes

static
AliAnalysisTaskEmcalEmbeddingHelper
fgInstance = 0
 ! Global instance of this class More...
 

Private Member Functions

 AliAnalysisTaskEmcalEmbeddingHelper (const AliAnalysisTaskEmcalEmbeddingHelper &)
 
AliAnalysisTaskEmcalEmbeddingHelperoperator= (const AliAnalysisTaskEmcalEmbeddingHelper &)
 

Utility functions

void Print (Option_t *opt="") const
 
std::ostream & Print (std::ostream &in) const
 
std::string toString (bool includeFileList=false) const
 
static
AliAnalysisTaskEmcalEmbeddingHelper
AddTaskEmcalEmbeddingHelper ()
 
std::ostream & operator<< (std::ostream &in, const AliAnalysisTaskEmcalEmbeddingHelper &myTask)
 

Detailed Description

Implementation of task to embed external events.

This class derives from AliAnalysisTaskSE and allows the user to open an external ESD or AOD file, providing access to the events.

The capabilities of the task are as follows:

  • Open an ESD/AOD file according to certain customizable options, such as production tag, pt hard bin, run number, file pattern, etc.
  • It selects an event according to customizable criteria, such as vertex, centrality, high pt track, pt hard bin, etc.
  • Load the event in memory: this is the "external" event, as opposed to the "internal" event provided by the analysis manager
  • Provide a public method GetExternalEvent() that allows to retrieve a pointer to the external event.

Note that only one instance of this class is allowed in each train (singleton class).

For the user, most of these details are handled by AliEmcalContainer derived tasks. To access the embedded input objects, the user simply needs to set AliEmcalContainer::SetIsEmbedding(Bool_t). This design ensures that usage is nearly seamless. For instance, it will "just work" in an analysis task, and it very nearly "just works" in the (new) EMCal correction framework (it only requires one small change in the normal correction procedure beyond noting that the input objects are embedded).

For further information on usage (including with the EMCal corrections), see the EMCal Embedding Documentation.

Author
Salvatore Aiola salva.nosp@m.tore.nosp@m..aiol.nosp@m.a@ce.nosp@m.rn.ch, Yale University
Raymond Ehlers raymo.nosp@m.nd.e.nosp@m.hlers.nosp@m.@cer.nosp@m.n.ch, Yale University
Date
Apr 28, 2016

Definition at line 67 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Constructor & Destructor Documentation

AliAnalysisTaskEmcalEmbeddingHelper::AliAnalysisTaskEmcalEmbeddingHelper ( )

Default constructor. Needed by ROOT I/O

Definition at line 61 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by AddTaskEmcalEmbeddingHelper().

AliAnalysisTaskEmcalEmbeddingHelper::AliAnalysisTaskEmcalEmbeddingHelper ( const char *  name)

Standard constructor. Should be used by the user.

Parameters
[in]nameName of the task

Definition at line 115 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

AliAnalysisTaskEmcalEmbeddingHelper::~AliAnalysisTaskEmcalEmbeddingHelper ( )
virtual

Destructor

Deletes the singleton instance and ensures that any open file is closed.

Definition at line 173 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

AliAnalysisTaskEmcalEmbeddingHelper::AliAnalysisTaskEmcalEmbeddingHelper ( const AliAnalysisTaskEmcalEmbeddingHelper )
private

Member Function Documentation

AliAnalysisTaskEmcalEmbeddingHelper * AliAnalysisTaskEmcalEmbeddingHelper::AddTaskEmcalEmbeddingHelper ( )
static

Add task function. This contains the normal AddTask functionality, except in compiled code, making errors easier to spot than in CINT. The AddTask macro still exists for use on the LEGO train, but simply wraps this function.

Returns
An properly instance of AliAnalysisTaskEmcalEmbeddingHelper, added to the current analysis manager.

Definition at line 1064 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

void AliAnalysisTaskEmcalEmbeddingHelper::DetermineFirstFileToEmbed ( )
protected

Determine the first file to embed and store the index. The index will either be random or the first file in the list, depending on the task configuration.

Definition at line 376 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by SetupInputFiles().

std::string AliAnalysisTaskEmcalEmbeddingHelper::DeterminePythiaXSecFilename ( TString  baseFileName,
TString  pythiaBaseFilename,
bool  testIfExists 
)
protected

Check if yhe file pythia base filename can be found in the folder or archive corresponding where the external event input file is found.

Parameters
baseFileNamePath to external event input file with "#*.root" already remove (it if existed).
pythiaBaseFilenameName of the pythia cross section file to try.
testIfExistsIf true, will check if the filename that it has determined actually exists.
Returns
True if the file was found

Definition at line 814 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by SetupInputFiles().

std::string AliAnalysisTaskEmcalEmbeddingHelper::GenerateUniqueFileListFilename ( )
protected

Simple helper function to generate a unique file list filename. This filename will be used to store the filelist locally. It will be of the form fFileListFilename + ".UUID.txt". If fFileListFilename is empty, then the beginning of the filename will be "fileList".

Returns
std::string containing the rest of the file to be appended to fFileListFilename

Definition at line 358 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetFilenames().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetAnchorRun ( ) const
inline

Definition at line 90 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

bool AliAnalysisTaskEmcalEmbeddingHelper::GetCreateHistos ( ) const
inline

Definition at line 98 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

AliVHeader* AliAnalysisTaskEmcalEmbeddingHelper::GetEventHeader ( ) const
inline

Definition at line 150 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

AliVEvent* AliAnalysisTaskEmcalEmbeddingHelper::GetExternalEvent ( ) const
inline
TString AliAnalysisTaskEmcalEmbeddingHelper::GetFileListFilename ( ) const
inline

Definition at line 97 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

bool AliAnalysisTaskEmcalEmbeddingHelper::GetFilenames ( )
protected

Get the names of the files to embed and determine which file to start from. The filenames will be used to initialize a TChain. Filenames can either be specified in a local file with one filename per line or found on AliEn by specifying any pattern that would work in alien_find.

Notes on this function:

  • In the case that the passed files contain ".zip", the root file name will be appended. Be certain to set the proper file type (AOD or ESD)!
  • In the case of AliEn, the result will be copied into a local file.
  • The file to start from can be randomized if requested.

The file pattern can be specified by a number of different options:

  • The simplest is pass a fully formed path to a file either locally or on AliEn.
  • You could specify a pT hard bin, which will be added into the passed file pattern. For example, "/period/runNumber/%d/aod_archive.root", where the d will the be the pT hard bin.
  • You could specify a pT hard bin and anchor run, which will both be added into the passed file pattern. "/period/%d/%d/aod_archive.root", where the first d will the be the anchor run number, and the second d will be the pT hard bin.

NOTE: The file pattern only makes sense in terms of AliEn. Passing a local pattern will not work! NOTE: Exercise care if you set both the file pattern and the filename! Doing so will probably cause your file to be overwritten!

Definition at line 222 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by Initialize().

TString AliAnalysisTaskEmcalEmbeddingHelper::GetFilePattern ( ) const
inline

Definition at line 94 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

TString AliAnalysisTaskEmcalEmbeddingHelper::GetInputFilename ( ) const
inline

Definition at line 95 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

static const AliAnalysisTaskEmcalEmbeddingHelper* AliAnalysisTaskEmcalEmbeddingHelper::GetInstance ( )
inlinestatic
Double_t AliAnalysisTaskEmcalEmbeddingHelper::GetMaxVertexDistance ( ) const
inline

Definition at line 139 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::GetNextEntry ( )
protected

Get the next event (entry) in the TChain to make it available for embedding. The event will be selected according to the conditions determined in IsEventSelected(). If needed it calls InitTree() to setup the next tree within the TChain. In the case of running of out files to embed, an error is thrown and embedding begins again from the start of the file list.

Returns
kTRUE if successful

Definition at line 407 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by UserExec().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetPtHardBin ( ) const
inline

Definition at line 89 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

AliGenPythiaEventHeader* AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaHeader ( ) const
inline

Definition at line 151 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

double AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaPtHard ( ) const
inline

Definition at line 154 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

int AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaTrials ( ) const
inline

Definition at line 153 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

double AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaXSection ( ) const
inline

Definition at line 152 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::GetRandomEventNumberAccess ( ) const
inline

Definition at line 92 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::GetRandomFileAccess ( ) const
inline

Definition at line 93 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetStartingFileIndex ( ) const
inline

Definition at line 96 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

TString AliAnalysisTaskEmcalEmbeddingHelper::GetTreeName ( ) const
inline

Definition at line 91 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

UInt_t AliAnalysisTaskEmcalEmbeddingHelper::GetTriggerMask ( ) const
inline

Definition at line 137 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Double_t AliAnalysisTaskEmcalEmbeddingHelper::GetZVertexCut ( ) const
inline

Definition at line 138 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::InitEvent ( )
protected

Initialize the external event by creating an event and then reading the event info from the TChain.

Returns
kTRUE if successful

Definition at line 602 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by SetupInputFiles().

bool AliAnalysisTaskEmcalEmbeddingHelper::Initialize ( )

Initialize the Embedding Helper task. Must be called after configuring the task, either during the run macro or wagon configuration.

Definition at line 187 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

void AliAnalysisTaskEmcalEmbeddingHelper::InitTree ( )
protected

Initializes a new TTree within the TChain by determining the limits of the current TTree within the TChain. By carefully keeping track of the first and lest entry of the current tree in the opened file, we allow a random entry point into the event in the tree without jumping between files, which would not perform well on the grid.

This function sets up a random entry point into the file if requested.

Sets fInitializedNewFile to kTRUE when the new entries in the tree have been initialized.

Definition at line 896 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetNextEntry(), and UserExec().

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::IsEventSelected ( )
protected

Performs an event selection on the current external event.

Returns
kTRUE if the event successfully passes all criteria.

Definition at line 544 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetNextEntry().

AliAnalysisTaskEmcalEmbeddingHelper& AliAnalysisTaskEmcalEmbeddingHelper::operator= ( const AliAnalysisTaskEmcalEmbeddingHelper )
private
void AliAnalysisTaskEmcalEmbeddingHelper::Print ( Option_t opt = "") const

Print basic correction task information using the string representation provided by AliAnalysisTaskEmcalEmbeddingHelper::toString()

Parameters
optIf "FILELIST" is passed, then the list of files to embed is also printed

Definition at line 1188 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by operator<<().

std::ostream & AliAnalysisTaskEmcalEmbeddingHelper::Print ( std::ostream &  in) const

Print correction task information on an output stream using the string representation provided by AliAnalysisTaskEmcalEmbeddingHelper::toString(). Used by operator<<

Parameters
inoutput stream stream
Returns
reference to the output stream

Definition at line 1163 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

bool AliAnalysisTaskEmcalEmbeddingHelper::PythiaInfoFromCrossSectionFile ( std::string  pythiaFileName)
protected

Extract pythia information from a cross section file. Modified from AliAnalysisTaskEmcal::PythiaInfoFromFile().

Parameters
filenamePath to the pythia cross section file.
Returns
True if the information has been successfully extracted.

Definition at line 959 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by InitTree().

void AliAnalysisTaskEmcalEmbeddingHelper::RecordEmbeddedEventProperties ( )
protected

Record event properties

Definition at line 528 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetNextEntry().

void AliAnalysisTaskEmcalEmbeddingHelper::SetAnchorRun ( Int_t  r)
inline

Sets the anchor run which will be added into the file pattern. Can also be omitted and set directly in the pattern.

Definition at line 106 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetAOD ( const char *  treeName = "aodTree")
inline

Set to embed from AOD.

Definition at line 110 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetCreateHistos ( bool  b)
inline

Create QA histograms. These are necessary for proper scaling, so be careful disabling them!

Definition at line 130 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetEmbeddedEventProperties ( )
protected

Set some properties of the event that are not immediately available from the external event to make them available to user tasks.

Definition at line 489 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetNextEntry().

void AliAnalysisTaskEmcalEmbeddingHelper::SetESD ( const char *  treeName = "esdTree")
inline

Set to embed from ESD.

Definition at line 108 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetFileListFilename ( const char *  filename)
inline

Set the path to a file containing the list of files to embed.

Definition at line 128 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetFilePattern ( const char *  pattern)
inline

Sets the file pattern to select AliEn files. This pattern is used as input to the alien_find command.

Definition at line 119 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetInputFilename ( const char *  filename)
inline

Sets the input filename used to select and open files. Note that this is just the filename, not the path! This filename is also used as input to the alien_find command.

Definition at line 124 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetMaxVertexDistance ( Double_t  distance)
inline

Definition at line 143 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetNPtHardBins ( Int_t  n)
inline

Set the number of pt hard bins in the production to properly format the histograms.

Definition at line 104 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetPtHardBin ( Int_t  n)
inline

Set the pt hard bin which will be added into the file pattern. Can also be omitted and set directly in the pattern.

Definition at line 102 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetRandomEventNumberAccess ( Bool_t  b)
inline

Enable to begin embedding at a random entry in each embedded file. Will then loop around in order so that all entries are made available.

Definition at line 115 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetRandomFileAccess ( Bool_t  b)
inline

Randomly select the first file to embed from the file list. Continues sequentially afterwards.

Definition at line 117 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetStartingFileIndex ( Int_t  n)
inline

Select the file ID to start embedding from.

Definition at line 126 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetTriggerMask ( UInt_t  triggerMask)
inline

Definition at line 141 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetupEmbedding ( )
protected

Setup embedding by retrieving the file list and then setting up the TChain based on that file list.

Sets fInitializedEmbedding to kTRUE when the initialization is completed.

Definition at line 868 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by UserCreateOutputObjects(), and UserExec().

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::SetupInputFiles ( )
protected

Use the input files to setup the TChain. This involves accessing the files on AliEn and ensuring that each file actually exists. If the TChain is successfully set up, then embedding is ready to proceed.

Returns
kTRUE if successful in setting up the TChain.

Definition at line 692 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by SetupEmbedding().

void AliAnalysisTaskEmcalEmbeddingHelper::SetZVertexCut ( Double_t  zVertex)
inline

Definition at line 142 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::Terminate ( Option_t option)

This function is called once at the end of the analysis.

Definition at line 1053 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

std::string AliAnalysisTaskEmcalEmbeddingHelper::toString ( bool  includeFileList = false) const

Prints information about the correction task.

Returns
std::string containing information about the task.

Definition at line 1120 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by Print().

void AliAnalysisTaskEmcalEmbeddingHelper::UserCreateOutputObjects ( )

Performing run-independent initialization to setup embedding.

If the setup is not successful here, it will be repeated in UserExec().

Definition at line 629 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

void AliAnalysisTaskEmcalEmbeddingHelper::UserExec ( Option_t option)

Run the main analysis code here. If for some reason the embedding was not successfully set up in UserCreateOutputObjects(), it is set up against before continuing. It also ensures that the current tree is available before attempting to get the next entry.

Definition at line 1027 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  in,
const AliAnalysisTaskEmcalEmbeddingHelper myTask 
)
friend

Implementation of the output stream operator for AliAnalysisTaskEmcalEmbeddingHelper. Printing basic correction task information provided by function toString()

Parameters
inoutput stream
myTaskTask which will be printed
Returns
Reference to the output stream

Definition at line 1176 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Member Data Documentation

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fAnchorRun
protected

Anchor run for the given pythia production.

Definition at line 196 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetAnchorRun(), GetFilenames(), SetAnchorRun(), and toString().

TChain* AliAnalysisTaskEmcalEmbeddingHelper::fChain
protected

! External TChain (tree) containing the events available for embedding

Definition at line 210 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), InitEvent(), InitTree(), and SetupInputFiles().

bool AliAnalysisTaskEmcalEmbeddingHelper::fCreateHisto
protected
Int_t AliAnalysisTaskEmcalEmbeddingHelper::fCurrentEntry
protected

! Current entry in the current tree

Definition at line 211 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

AliVEvent* AliAnalysisTaskEmcalEmbeddingHelper::fExternalEvent
protected

! Current external event available for embedding

Definition at line 219 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetExternalEvent(), InitEvent(), IsEventSelected(), SetEmbeddedEventProperties(), and ~AliAnalysisTaskEmcalEmbeddingHelper().

TFile* AliAnalysisTaskEmcalEmbeddingHelper::fExternalFile
protected

! External file used for embedding

Definition at line 209 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by ~AliAnalysisTaskEmcalEmbeddingHelper().

AliVHeader* AliAnalysisTaskEmcalEmbeddingHelper::fExternalHeader
protected

! Header of the current external event

Definition at line 220 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetEventHeader(), and SetEmbeddedEventProperties().

TString AliAnalysisTaskEmcalEmbeddingHelper::fFileListFilename
protected

Name of the file list containing paths to files to embed.

Definition at line 205 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GenerateUniqueFileListFilename(), GetFileListFilename(), GetFilenames(), SetFileListFilename(), and toString().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fFilenameIndex
protected

Index of vector containing paths to files to embed.

Definition at line 206 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by DetermineFirstFileToEmbed(), GetStartingFileIndex(), SetStartingFileIndex(), SetupInputFiles(), and toString().

std::vector<std::string> AliAnalysisTaskEmcalEmbeddingHelper::fFilenames
protected

Paths to the files to embed.

Definition at line 207 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by DetermineFirstFileToEmbed(), GetFilenames(), SetupInputFiles(), and toString().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fFileNumber
protected

! File number corresponding to the current tree

Definition at line 216 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

TString AliAnalysisTaskEmcalEmbeddingHelper::fFilePattern
protected

File pattern to select AliEn files using alien_find.

Definition at line 203 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetFilenames(), GetFilePattern(), SetFilePattern(), and toString().

AliAnalysisTaskEmcalEmbeddingHelper * AliAnalysisTaskEmcalEmbeddingHelper::fgInstance = 0
staticprotected
THistManager AliAnalysisTaskEmcalEmbeddingHelper::fHistManager
protected

Manages access to all histograms.

Definition at line 217 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), RecordEmbeddedEventProperties(), and UserCreateOutputObjects().

bool AliAnalysisTaskEmcalEmbeddingHelper::fInitializedConfiguration
protected

Notes if the configuration has been initialized.

Definition at line 190 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by Initialize(), and SetupEmbedding().

bool AliAnalysisTaskEmcalEmbeddingHelper::fInitializedEmbedding
protected

! Notes where the TChain has been initialized for embedding

Definition at line 192 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by SetupEmbedding(), and UserExec().

bool AliAnalysisTaskEmcalEmbeddingHelper::fInitializedNewFile
protected

! Notes where the entry indices have been initialized for a new tree in the chain

Definition at line 191 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by InitTree(), and UserExec().

TString AliAnalysisTaskEmcalEmbeddingHelper::fInputFilename
protected

Filename of input root files.

Definition at line 204 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetFilenames(), GetInputFilename(), SetInputFilename(), and toString().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fLowerEntry
protected

! First entry of the current tree to be used for embedding

Definition at line 212 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fMaxNumberOfFiles
protected

! Max number of files that are in the TChain

Definition at line 215 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and SetupInputFiles().

Double_t AliAnalysisTaskEmcalEmbeddingHelper::fMaxVertexDist
protected

Max distance between Z vertex of internal and embedded event.

Definition at line 188 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetMaxVertexDistance(), IsEventSelected(), SetMaxVertexDistance(), and toString().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fNPtHardBins
protected

Total number of pt hard bins.

Definition at line 197 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by SetNPtHardBins(), toString(), and UserCreateOutputObjects().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fOffset
protected

! Offset from fLowerEntry where the loop over the tree should start

Definition at line 214 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

AliEmcalList* AliAnalysisTaskEmcalEmbeddingHelper::fOutput
protected

! List which owns the output histograms to be saved

Definition at line 218 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by UserCreateOutputObjects(), and UserExec().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fPtHardBin
protected

ptHard bin for the given pythia production

Definition at line 198 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetFilenames(), GetPtHardBin(), RecordEmbeddedEventProperties(), SetPtHardBin(), and toString().

double AliAnalysisTaskEmcalEmbeddingHelper::fPythiaCrossSection
protected

! Pythia cross section for the current event (extracted from the pythia header).

Definition at line 225 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetPythiaXSection(), RecordEmbeddedEventProperties(), and SetEmbeddedEventProperties().

double AliAnalysisTaskEmcalEmbeddingHelper::fPythiaCrossSectionAvg
protected

! Average pythia cross section extracted from a xsec file.

Definition at line 226 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by PythiaInfoFromCrossSectionFile(), and SetEmbeddedEventProperties().

std::vector<std::string> AliAnalysisTaskEmcalEmbeddingHelper::fPythiaCrossSectionFilenames
protected

Paths to the pythia xsection files.

Definition at line 208 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by InitTree(), and SetupInputFiles().

AliGenPythiaEventHeader* AliAnalysisTaskEmcalEmbeddingHelper::fPythiaHeader
protected

! Pythia header of the current external event

Definition at line 221 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetPythiaHeader(), and SetEmbeddedEventProperties().

double AliAnalysisTaskEmcalEmbeddingHelper::fPythiaPtHard
protected

! Pt hard of the current event (extracted from the pythia header).

Definition at line 227 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetPythiaPtHard(), RecordEmbeddedEventProperties(), and SetEmbeddedEventProperties().

int AliAnalysisTaskEmcalEmbeddingHelper::fPythiaTrials
protected

! Number of pythia trials for the current event (extracted from the pythia header).

Definition at line 223 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetPythiaTrials(), RecordEmbeddedEventProperties(), and SetEmbeddedEventProperties().

int AliAnalysisTaskEmcalEmbeddingHelper::fPythiaTrialsAvg
protected

! Average number of trials extracted from a xsec file.

Definition at line 224 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by PythiaInfoFromCrossSectionFile(), and SetEmbeddedEventProperties().

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::fRandomEventNumberAccess
protected

If true, it will start embedding from a random entry in the file rather than from the first.

Definition at line 199 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetRandomEventNumberAccess(), InitTree(), SetRandomEventNumberAccess(), SetupEmbedding(), and toString().

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::fRandomFileAccess
protected

If true, it will start embedding from a random file in the input files list.

Definition at line 200 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by DetermineFirstFileToEmbed(), GetRandomFileAccess(), SetRandomFileAccess(), and toString().

TString AliAnalysisTaskEmcalEmbeddingHelper::fTreeName
protected

Name of the ESD/AOD tree where the events are to be found.

Definition at line 195 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetFilenames(), GetTreeName(), InitEvent(), SetAOD(), SetESD(), SetupInputFiles(), and toString().

UInt_t AliAnalysisTaskEmcalEmbeddingHelper::fTriggerMask
protected

Trigger selection mask.

Definition at line 186 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetTriggerMask(), IsEventSelected(), SetTriggerMask(), and toString().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fUpperEntry
protected

! Last entry of the current tree to be used for embedding

Definition at line 213 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

bool AliAnalysisTaskEmcalEmbeddingHelper::fWrappedAroundTree
protected

! Notes whether we have wrapped around the tree, which is important if the offset into the tree is non-zero

Definition at line 193 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

Double_t AliAnalysisTaskEmcalEmbeddingHelper::fZVertexCut
protected

Z vertex cut on embedded event.

Definition at line 187 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetZVertexCut(), IsEventSelected(), SetZVertexCut(), and toString().


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