AliPhysics  96f6795 (96f6795)
 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
 
AliVEvent * InputEvent () const
 
Properties of the embedding helper
bool Initialize ()
 
Int_t GetPtHardBin () const
 
Int_t GetNPtHardBins () 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
 
bool GetMCRejectOutliers () const
 
Double_t GetPtHardJetPtRejectionFactor () const
 
Double_t GetZVertexCut () const
 
Double_t GetMaxVertexDistance () const
 
void SetTriggerMask (UInt_t triggerMask)
 
void SetMCRejectOutliers (bool reject=true)
 
void SetPtHardJetPtRejectionFactor (double factor)
 
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 CheckIsEmbeddedEventSelected ()
 
Bool_t InitEvent ()
 
void InitTree ()
 
bool PythiaInfoFromCrossSectionFile (std::string filename)
 

Protected Attributes

UInt_t fTriggerMask
 Trigger selection mask. More...
 
bool fMCRejectOutliers
 If true, MC outliers will be rejected. More...
 
Double_t fPtHardJetPtRejectionFactor
 Factor which the pt hard bin is multiplied by to compare against pythia header jets pt. 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 fPythiaTrialsFromFile
 ! 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 fPythiaCrossSectionFromFile
 ! 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 62 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 118 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

AliAnalysisTaskEmcalEmbeddingHelper::~AliAnalysisTaskEmcalEmbeddingHelper ( )
virtual

Destructor

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

Definition at line 178 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 1158 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::CheckIsEmbeddedEventSelected ( )
protected

Performs the embedded event selection on the current external event.

Returns
kTRUE if the event successfully passes all criteria.

Definition at line 566 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by IsEventSelected().

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 381 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by SetupInputFiles().

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

Check if the 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 896 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 363 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetFilenames().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetAnchorRun ( ) const
inline

Definition at line 91 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

bool AliAnalysisTaskEmcalEmbeddingHelper::GetCreateHistos ( ) const
inline

Definition at line 99 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

AliVHeader* AliAnalysisTaskEmcalEmbeddingHelper::GetEventHeader ( ) const
inline

Definition at line 155 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

Definition at line 98 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 227 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by Initialize().

TString AliAnalysisTaskEmcalEmbeddingHelper::GetFilePattern ( ) const
inline

Definition at line 95 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

TString AliAnalysisTaskEmcalEmbeddingHelper::GetInputFilename ( ) const
inline

Definition at line 96 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Double_t AliAnalysisTaskEmcalEmbeddingHelper::GetMaxVertexDistance ( ) const
inline

Definition at line 142 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

bool AliAnalysisTaskEmcalEmbeddingHelper::GetMCRejectOutliers ( ) 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 413 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by UserExec().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetNPtHardBins ( ) const
inline
Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetPtHardBin ( ) const
inline
Double_t AliAnalysisTaskEmcalEmbeddingHelper::GetPtHardJetPtRejectionFactor ( ) const
inline

Definition at line 140 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

AliGenPythiaEventHeader* AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaHeader ( ) const
inline

Definition at line 156 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

double AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaPtHard ( ) const
inline
int AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaTrials ( ) const
inline
double AliAnalysisTaskEmcalEmbeddingHelper::GetPythiaXSection ( ) const
inline
Bool_t AliAnalysisTaskEmcalEmbeddingHelper::GetRandomEventNumberAccess ( ) const
inline

Definition at line 93 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::GetRandomFileAccess ( ) const
inline

Definition at line 94 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Int_t AliAnalysisTaskEmcalEmbeddingHelper::GetStartingFileIndex ( ) const
inline

Definition at line 97 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

TString AliAnalysisTaskEmcalEmbeddingHelper::GetTreeName ( ) const
inline

Definition at line 92 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

UInt_t AliAnalysisTaskEmcalEmbeddingHelper::GetTriggerMask ( ) const
inline

Definition at line 138 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Double_t AliAnalysisTaskEmcalEmbeddingHelper::GetZVertexCut ( ) const
inline

Definition at line 141 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 666 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 192 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 978 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetNextEntry(), and UserExec().

AliVEvent* AliAnalysisTaskEmcalEmbeddingHelper::InputEvent ( ) const
inline

SHOULD NOT BE USED! Use GetExternalEvent()! Returns the external event by overloading InputEvent() defined in AliAnalysisTaskSE. This is used by AliEmcalCorrectionEventManager, but it should not be used by the user! Instead, use GetExternalEvent().

Note that it cannot be protected, because we need to call it externally.

Returns
The external event

Definition at line 186 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Bool_t AliAnalysisTaskEmcalEmbeddingHelper::IsEventSelected ( )
protected

Handles (ie wraps) event selection and proper event counting.

Returns
kTRUE if the event successfully passes all criteria.

Definition at line 547 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 1284 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 1259 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

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

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

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

Definition at line 1052 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by InitTree().

void AliAnalysisTaskEmcalEmbeddingHelper::RecordEmbeddedEventProperties ( )
protected

Record event properties

Definition at line 534 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 107 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

Set to embed from AOD.

Definition at line 111 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 131 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 495 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by GetNextEntry().

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

Set to embed from ESD.

Definition at line 109 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 129 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 120 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 125 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetMaxVertexDistance ( Double_t  distance)
inline

Definition at line 148 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetMCRejectOutliers ( bool  reject = true)
inline

Definition at line 145 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 105 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 103 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetPtHardJetPtRejectionFactor ( double  factor)
inline

Definition at line 146 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 116 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 118 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetStartingFileIndex ( Int_t  n)
inline

Select the file ID to start embedding from.

Definition at line 127 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::SetTriggerMask ( UInt_t  triggerMask)
inline

Definition at line 144 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 950 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 774 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Referenced by SetupEmbedding().

void AliAnalysisTaskEmcalEmbeddingHelper::SetZVertexCut ( Double_t  zVertex)
inline

Definition at line 147 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

void AliAnalysisTaskEmcalEmbeddingHelper::Terminate ( Option_t option)

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

Definition at line 1147 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 1214 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 693 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 1121 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 1272 of file AliAnalysisTaskEmcalEmbeddingHelper.cxx.

Member Data Documentation

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fAnchorRun
protected

Anchor run for the given pythia production.

Definition at line 216 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 230 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 231 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

AliVEvent* AliAnalysisTaskEmcalEmbeddingHelper::fExternalEvent
protected
TFile* AliAnalysisTaskEmcalEmbeddingHelper::fExternalFile
protected

! External file used for embedding

Definition at line 229 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by ~AliAnalysisTaskEmcalEmbeddingHelper().

AliVHeader* AliAnalysisTaskEmcalEmbeddingHelper::fExternalHeader
protected

! Header of the current external event

Definition at line 240 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 225 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 226 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

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

Paths to the files to embed.

Definition at line 227 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 236 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 223 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

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

Notes if the configuration has been initialized.

Definition at line 210 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 212 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 211 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by InitTree(), and UserExec().

TString AliAnalysisTaskEmcalEmbeddingHelper::fInputFilename
protected

Filename of input root files.

Definition at line 224 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 232 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 235 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

Double_t AliAnalysisTaskEmcalEmbeddingHelper::fMaxVertexDist
protected

Max distance between Z vertex of internal and embedded event.

Definition at line 208 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

bool AliAnalysisTaskEmcalEmbeddingHelper::fMCRejectOutliers
protected

If true, MC outliers will be rejected.

Definition at line 205 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by CheckIsEmbeddedEventSelected(), GetMCRejectOutliers(), SetMCRejectOutliers(), and toString().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fNPtHardBins
protected

Total number of pt hard bins.

Definition at line 217 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fOffset
protected

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

Definition at line 234 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 238 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by UserCreateOutputObjects(), and UserExec().

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fPtHardBin
protected

ptHard bin for the given pythia production

Definition at line 218 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

Double_t AliAnalysisTaskEmcalEmbeddingHelper::fPtHardJetPtRejectionFactor
protected

Factor which the pt hard bin is multiplied by to compare against pythia header jets pt.

Definition at line 206 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by CheckIsEmbeddedEventSelected(), GetPtHardJetPtRejectionFactor(), SetPtHardJetPtRejectionFactor(), and toString().

double AliAnalysisTaskEmcalEmbeddingHelper::fPythiaCrossSection
protected

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

Definition at line 245 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

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

Paths to the pythia xsection files.

Definition at line 228 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by InitTree(), and SetupInputFiles().

double AliAnalysisTaskEmcalEmbeddingHelper::fPythiaCrossSectionFromFile
protected

! Average pythia cross section extracted from a xsec file.

Definition at line 246 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by PythiaInfoFromCrossSectionFile(), and SetEmbeddedEventProperties().

AliGenPythiaEventHeader* AliAnalysisTaskEmcalEmbeddingHelper::fPythiaHeader
protected

! Pythia header of the current external event

Definition at line 241 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by CheckIsEmbeddedEventSelected(), GetPythiaHeader(), and SetEmbeddedEventProperties().

double AliAnalysisTaskEmcalEmbeddingHelper::fPythiaPtHard
protected

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

Definition at line 247 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

int AliAnalysisTaskEmcalEmbeddingHelper::fPythiaTrials
protected

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

Definition at line 243 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

int AliAnalysisTaskEmcalEmbeddingHelper::fPythiaTrialsFromFile
protected

! Average number of trials extracted from a xsec file.

Definition at line 244 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 219 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 220 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 215 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 204 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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

Int_t AliAnalysisTaskEmcalEmbeddingHelper::fUpperEntry
protected

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

Definition at line 233 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 213 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

Referenced by GetNextEntry(), and InitTree().

Double_t AliAnalysisTaskEmcalEmbeddingHelper::fZVertexCut
protected

Z vertex cut on embedded event.

Definition at line 207 of file AliAnalysisTaskEmcalEmbeddingHelper.h.

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


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