ROOT logo
AliRoot » STEER » STEER » AliReconstruction

class AliReconstruction: public TSelector


class for running the reconstruction

Clusters and tracks are created for all detectors and all events by
typing:

AliReconstruction rec;
rec.Run();

The Run method returns kTRUE in case of successful execution.

If the input to the reconstruction are not simulated digits but raw data,
this can be specified by an argument of the Run method or by the method

rec.SetInput("...");

The input formats and the corresponding argument are:
- DDL raw data files: directory name, ends with "/"
- raw data root file: root file name, extension ".root"
- raw data DATE file: DATE file name, any other non-empty string
- MC root files     : empty string, default

By default all events are reconstructed. The reconstruction can be
limited to a range of events by giving the index of the first and the
last event as an argument to the Run method or by calling

rec.SetEventRange(..., ...);

The index -1 (default) can be used for the last event to indicate no
upper limit of the event range.

In case of raw-data reconstruction the user can modify the default
number of events per digits/clusters/tracks file. In case the option
is not used the number is set 1. In case the user provides 0, than
the number of events is equal to the number of events inside the
raw-data file (i.e. one digits/clusters/tracks file):

rec.SetNumberOfEventsPerFile(...);


The name of the galice file can be changed from the default
"galice.root" by passing it as argument to the AliReconstruction
constructor or by

rec.SetGAliceFile("...");

The local reconstruction can be switched on or off for individual
detectors by

rec.SetRunLocalReconstruction("...");

The argument is a (case sensitive) string with the names of the
detectors separated by a space. The special string "ALL" selects all
available detectors. This is the default.

The reconstruction of the primary vertex position can be switched off by

rec.SetRunVertexFinder(kFALSE);

The tracking and the creation of ESD tracks can be switched on for
selected detectors by

rec.SetRunTracking("...");

Uniform/nonuniform field tracking switches (default: uniform field)

rec.SetUniformFieldTracking(); ( rec.SetUniformFieldTracking(kFALSE); )

The filling of additional ESD information can be steered by

rec.SetFillESD("...");

Again, for both methods the string specifies the list of detectors.
The default is "ALL".

The call of the shortcut method

rec.SetRunReconstruction("...");

is equivalent to calling SetRunLocalReconstruction, SetRunTracking and
SetFillESD with the same detector selecting string as argument.

The reconstruction requires digits or raw data as input. For the creation
of digits and raw data have a look at the class AliSimulation.

The input data of a detector can be replaced by the corresponding HLT
data by calling (usual detector string)
SetUseHLTData("...");



Function Members (Methods)

public:
AliReconstruction(const char* gAliceFilename = "galice.root")
virtual~AliReconstruction()
virtual voidAbort(const char* method, TSelector::EAbort what)
voidTObject::AbstractMethod(const char* method) const
voidAddCheckRecoCDBvsSimuCDB(const char* cdbpath, const char* comment = "")
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBegin(TTree*)
virtual voidTObject::Browse(TBrowser* b)
voidCheckRecoCDBvsSimuCDB()
static TClass*Class()
virtual const char*TObject::ClassName() const
voidCleanProcessedEvent()
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Bool_tCreateTrackers(const TString& detectors)
voidDeclareTriggerClasses(const char* trClasses)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TSelector::EAbortTSelector::GetAbort() const
const char*GetAnalysisMacro() const
AliAnalysisManager*GetAnalysisManager() const
const TObjArray*GetCheckRecoCDBvsSimuCDB() const
static const char**GetDetectorNames()
static Int_tGetDetIndex(const char* detector)
Float_tGetDmax() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tTSelector::GetEntry(Long64_t, Int_t = 0)
AliESDEvent*GetESDEvent() const
AliESDfriend*GetESDfriend() const
virtual const char*TObject::GetIconName() const
virtual TList*TSelector::GetInputList() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual const char*TSelector::GetOption() const
virtual TList*TSelector::GetOutputList() const
AliRawReader*GetRawReader() const
AliRunLoader*GetRunLoader() const
static TSelector*TSelector::GetSelector(const char* filename)
virtual Long64_tTSelector::GetStatus() const
virtual const char*TObject::GetTitle() const
AliTracker*GetTracker(Int_t idx) const
virtual UInt_tTObject::GetUniqueID() const
Float_tGetV0CsPmin() const
Float_tGetV0DCAmax() const
Float_tGetZmax() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasEnoughResources(int ev)
virtual ULong_tTObject::Hash() const
Bool_tHasNextEventAfter(Int_t eventId)
voidImportRunLoader(AliRunLoader* rl)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidInit(TTree* tree)
voidInitQA()
voidInitRun(const char* input)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsInTasks(AliQAv1::TASKINDEX_t tsk)
Bool_tTObject::IsOnHeap() const
Bool_tIsRunGlobalQA() const
Bool_tIsRunMultFinder() const
Bool_tIsRunQA() const
virtual Bool_tTObject::IsSortable() const
static Bool_tTSelector::IsStandardDraw(const char* selec)
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidMatchUpgradeDetector()
voidTObject::MayNotUse(const char* method) const
voidMergeQA(const char* fileName = NULL)
Bool_tMisalignGeometry(const TString& detectors)
virtual Bool_tTSelector::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Bool_tProcess(Long64_t entry)
virtual Bool_tTSelector::ProcessCut(Long64_t)
virtual Bool_tProcessEvent(Int_t iEvent)
virtual Bool_tProcessEvent(void* event)
virtual voidTSelector::ProcessFill(Long64_t)
virtual Int_tTObject::Read(const char* name)
voidRectifyCDBurl(TString& url)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRemCheckRecoCDBvsSimuCDB(const char* cdbpath)
virtual voidTSelector::ResetAbort()
voidTObject::ResetBit(UInt_t f)
voidResetCheckRecoCDBvsSimuCDB()
virtual Bool_tRun(const char* input = NULL)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAlignObjArray(TObjArray* array)
voidSetAnalysisMacro(const char* macropath)
voidSetAnalysisManager(AliAnalysisManager* mgr)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCDBSnapshotMode(const char* snapshotFileName)
voidSetCleanESD(Bool_t flag = kTRUE)
voidSetDefaultStorage(const char* uri)
voidSetDeleteDigits(const char* dets)
voidSetDeleteRecPoints(const char* dets)
voidSetDiamondProfile(AliESDVertex* dp)
voidSetDiamondProfileSPD(AliESDVertex* dp)
voidSetDiamondProfileTPC(AliESDVertex* dp)
voidSetDmax(Float_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEquipmentIdMap(const char* mapFile)
voidSetEventRange(Int_t firstEvent = 0, Int_t lastEvent = -1)
voidSetFillESD(const char* detectors)
voidSetFillTriggerESD(Bool_t flag = kTRUE)
voidSetFractionFriends(Double32_t frac = 0.04)
voidSetGAliceFile(const char* fileName)
voidSetInput(const char* input)
virtual voidTSelector::SetInputList(TList* input)
voidSetLoadAlignData(const char* detectors)
voidSetLoadAlignFromCDB(Bool_t load)
voidSetNumberOfEventsPerFile(UInt_t nEvents)
virtual voidTSelector::SetObject(TObject* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetOption(const char* option)
voidSetOption(const char* detector, const char* option)
voidSetOutput(const char* output)
voidSetQACycles(AliQAv1::DETECTORINDEX_t det, Int_t cycles)
voidSetQARefDefaultStorage(const char* uri)
voidSetQAWriteExpert(AliQAv1::DETECTORINDEX_t det)
voidSetRecoParam(const char* detector, AliDetectorRecoParam* par)
voidSetRunCascadeFinder(Bool_t flag = kTRUE)
voidSetRunGlobalQA(Bool_t flag = kTRUE)
voidSetRunLocalReconstruction(const char* detectors)
voidSetRunMultFinder(Bool_t flag = kTRUE)
voidSetRunPlaneEff(Bool_t flag = kFALSE)
Bool_tSetRunQA(TString detAndAction = "ALL:ALL")
voidSetRunReconstruction(const char* detectors)
voidSetRunTracking(const char* detectors)
voidSetRunV0Finder(Bool_t flag = kTRUE)
voidSetRunVertexFinder(Bool_t flag = kTRUE)
voidSetRunVertexFinderTracks(Bool_t flag = kTRUE)
voidSetSpecificStorage(const char* calibType, const char* uri)
virtual voidTSelector::SetStatus(Long64_t status)
voidSetStopOnError(Bool_t flag = kTRUE)
voidSetStopOnMissingTriggerFile(Bool_t flag = kTRUE)
voidSetStopOnResourcesExcess(int vRSS = 3000, int vVMEM = 4000)
voidSetTreeBuffSize(Long64_t sz = 30000000)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUpgradeModule(const char* detectors)
voidSetUseHLTData(const char* detectors)
voidSetUseTrackingErrorsForAlignment(const char* detectors)
voidSetV0CsPmin(Float_t d)
voidSetV0DCAmax(Float_t d)
voidSetWriteAlignmentData(Bool_t flag = kTRUE)
voidSetWriteESDfriend(Bool_t flag = kTRUE)
voidSetWriteQAExpert()
voidSetZmax(Float_t z)
virtual voidShowMembers(TMemberInspector&)
virtual voidSlaveBegin(TTree*)
virtual voidSlaveTerminate()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual Int_tVersion() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tIsCosmicOrCalibSpecie() const
Bool_tIsHighPt() const
voidTObject::MakeZombie()
voidWriteESDfriend()

Data Members

public:
enum { kNDetectors
};
enum TSelector::EAbort { kContinue
kAbortProcess
kAbortFile
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TSelector::EAbortTSelector::fAbortAbort status
TList*TSelector::fInputList of objects available during processing
TObject*TSelector::fObject!Current object if processing object (vs. TTree)
TStringTSelector::fOptionOption given to TTree::Process
TSelectorList*TSelector::fOutput!List of objects created during processing
Long64_tTSelector::fStatusSelector status
private:
TObjArray*fAlignObjArray! array with the alignment objects to be applied to the geometry
AliAnalysisManager*fAnalysis! Analysis manager
TStringfAnalysisMacroFull path to a macro creating an analysis manager train
Double_tfBeamInt[2][2]! mean beam intensities from AliLHCData
Bool_tfCDBSnapshotMode! flag true if we are setting the CDB Manager in snapshot mode
TStringfCDBUri! Uri of the default CDB storage
AliCTPTimeParams*fCTPTimeAlignan object which contains the CTP (mis)alignment data
AliCTPTimeParams*fCTPTimeParamsan object which contains the trigger delays
TTree*fChain! The raw-data chain in case of AliRawReaderChain
TObjArrayfCheckRecoCDBvsSimuCDBArray for CDB items which must be the same in the sim and rec
Bool_tfCleanESDclean ESD flag
TStringfDeclTriggerClassesDeclared defined trigger classes
TStringfDeleteDigitsdelete digits after each event
TStringfDeleteRecPointsdelete recpoints after each event
AliESDVertex*fDiamondProfile(x,y) diamond profile for AliVertexerTracks (ITS+TPC)
AliESDVertex*fDiamondProfileSPD(x,y) diamond profile from SPD for AliITSVertexer3D(Z)
AliESDVertex*fDiamondProfileTPC(x,y) diamond profile from TPC for AliVertexerTracks
Float_tfDmaxmax. allowed transverse impact parameter
TStringfESDOutput! name of output ESD file
AliESDpid*fESDpidPID object
TStringfEquipIdMapname of file with equipment id map
AliEventInfofEventInfoan object which contains essential event information
TStringfFillESDfill ESD for these detectors
Bool_tfFillTriggerESDfill trigger info into ESD
Int_tfFirstEventindex of first event to be reconstr.
Double32_tfFractionFriendsfraction of ESD friends to be stored
TStringfGAliceFileNamename of the galice file
AliGRPObject*fGRPDataData from the GRP/GRP/Data CDB folder
Bool_tfInitCDBCalled! flag to check if CDB storages are already initialized
Bool_tfInitQACalled! control of QA intialisation
Bool_tfIsNewRunLoadergalice.root created from scratch (real raw data case)
Int_tfLastEventindex of last event to be reconstr.
THashTable*fListOfCosmicTriggerslist of cosmic triggers as defined by trigger coordination
TStringfLoadAlignDataLoad alignment data from CDB for these detectors
Bool_tfLoadAlignFromCDBLoad alignment data from CDB and apply it to geometry or not
TStringfLoadCDBprefetch CDB entries and init reco-params for these detectors
AliLoader*fLoader[18]! detector loaders
Int_tfMaxRSSmax RSS memory, MB
Int_tfMaxVMEMmax VMEM memory, MB
Long64_tfMemCountESD! accumulated ESD size before AutoSave
Long64_tfMemCountESDF! accumulated ESD size before AutoSave
Long64_tfMemCountESDHLT! accumulated ESD size before AutoSave
Int_tfNall! Number of reconstructed events
Int_tfNhighPt! Number of events, selected by IsHighPt
Int_tfNspecie! Number of events, selected by IsCosmicOrCalibSpecie
UInt_tfNumberOfEventsPerFilenumber of events per file in case of raw-data reconstruction
TObjArrayfOptionsoptions for reconstructor objects
AliRawReader*fParentRawReader! parent raw data reader in case of AliRawReaderHLT
TStringfProofOutputArchive! list of file to be kept in output zip archive in PROOF mode
Bool_tfProofOutputDataset! keep output file in PROOF mode in dataset or merge
TStringfProofOutputFileName! name of output file in PROOF mode
TStringfProofOutputLocation! output location in PROOF mode
Int_tfQACycles[20]# events over which QA data are accumulated
TStringfQADetectorslist of detectors to be QA'ed
TStringfQARefUri! Uri of the default QA reference storage
TStringfQATaskslist of QA tasks to be performed
Bool_tfQAWriteExpert[20]Flag to save or not expert QA data
TStringfRawInputname of input raw-data file or directory
AliRawReader*fRawReader! current raw data reader
AliRecoInputHandler*fRecoHandler! Input handler adapted for reconstruction
AliRecoParamfRecoParamcontainer for the reco-param objects for detectors
AliReconstructor*fReconstructor[18]! array of reconstructor objects
Bool_tfRunAliEVERun AliEVE or not
Bool_tfRunCascadeFinderrun the ESD cascade finder
Bool_tfRunGlobalQARun global QA flag
AliRunInfo*fRunInfoan object which contains essential global conditions information
AliRunLoader*fRunLoader! current run loader object
TStringfRunLocalReconstructionrun the local reconstruction for these detectors
Bool_tfRunMFTTrackingMUrun the MFT+MUON tracking // AU
Bool_tfRunMultFinderrun the trackleter for ITS clusters
Bool_tfRunMuonTrackingrun the MUON tracking
Bool_tfRunPlaneEffEvaluate Plane Efficiency
Bool_tfRunQARun QA flag
AliTriggerRunScalers*fRunScalersan object which contains the trigger counters for xsection
TStringfRunTrackingrun the tracking for these detectors
Bool_tfRunV0Finderrun the ESD V0 finder
Bool_tfRunVertexFinderrun the vertex finder
Bool_tfRunVertexFinderTracksrun the vertex finder with tracks
AliTracker*fSPDTrackleter! trackleter [for SPD Plane Efficiency purposes]
Bool_tfSameQACycle! open a new QA data file or not
Bool_tfSetRunNumberFromDataCalled! flag to check if run number is already loaded from run loader
Int_tfShighPt! Number of events, sampled from fNhighPt
TObjArrayfSpecCDBUri! Array with detector specific CDB storages
Int_tfSspecie! Number of events, sampled from fNspecie
Bool_tfStopOnErrorstop or continue on errors
Bool_tfStopOnMissingTriggerFilestop if the simulated trigger file is absent
Bool_tfStoppedflag that reco is stopped due to the limited resources
AliTracker*fTracker[18]! trackers
Long64_tfTreeBuffSizeallowed uncompressed buffer size per tree
Bool_tfUpgradeMask[18]
TStringfUpgradeModule
TStringfUseHLTDataDetectors for which the HLT data is used as input
TStringfUseTrackingErrorsForAlignmentfor these detectors
Float_tfV0CsPminmin. allowed cosine of V0 pointing angle
Float_tfV0DCAmaxmax. allowed DCA between V0 daugthers
Bool_tfWriteAlignmentDatawrite track space-points flag
Bool_tfWriteESDfriendwrite ESD friend flag
Bool_tfWriteQAExpertData! decides wheter or not to write experts QA data; true by default
Float_tfZmaxmax. allowed longitudinal impact parameter
AliESDEvent*fesd! Pointer to the ESD event object
AliESDfriend*fesdf! Pointer to the ESD friend object
TFile*ffile! Pointer to the ESD file
TFile*ffileF! Pointer to the ESD friend file
static const char*fgkDetectorName[18]! names of detectors
static const char*fgkStopEvFNamefilename for stop.event stamp
AliESDEvent*fhltesd! Pointer to the HLT ESD event object
TTree*fhlttree! Pointer to the HLT ESD tree
AliVertexerTracks*ftVertexer! Pointer to the vertexer based on ESD tracks
TTree*ftree! Pointer to the ESD tree
TTree*ftreeF! Pointer to the ESD friend tree

Class Charts

Inheritance Chart:
TSelector
AliReconstruction

Function documentation

AliReconstruction(const char* gAliceFilename = "galice.root")

 create reconstruction object with default parameters
AliReconstruction(const AliReconstruction& rec)

 copy constructor
~AliReconstruction()
 clean up
void InitQA()
Initialize the QA and start of cycle
void MergeQA(const char* fileName = NULL)
Initialize the QA and start of cycle
void InitCDB()
 activate a default CDB storage
 First check if we have any CDB storage set, because it is used
 to retrieve the calibration and alignment constants
void SetCDBSnapshotMode(const char* snapshotFileName)
void SetDefaultStorage(const char* uri)
 Store the desired default CDB storage location
 Activate it later within the Run() method
void SetQARefDefaultStorage(const char* uri)
 Store the desired default CDB storage location
 Activate it later within the Run() method
void SetSpecificStorage(const char* calibType, const char* uri)
 Store a detector-specific CDB storage location
 Activate it later within the Run() method
void AddCheckRecoCDBvsSimuCDB(const char* cdbpath, const char* comment = "")
 require the cdb item to be the same in the rec as in the sim
 Activate it later within the Run() method
void RemCheckRecoCDBvsSimuCDB(const char* cdbpath)
 require the cdb item to be the same in the rec as in the sim
 Activate it later within the Run() method
Bool_t SetRunNumberFromData()
 The method is called in Run() in order
 to set a correct run number.
 In case of raw data reconstruction the
 run number is taken from the raw data header
void SetCDBLock()
 Set CDB lock: from now on it is forbidden to reset the run number
 or the default storage or to activate any further storage!
void MatchUpgradeDetector()
 Translates detector name in a boolean.
 The boolean is used in GetReconstructor to load the
 upgrade reconstructor instead of the standard one.
Bool_t MisalignGeometry(const TString& detectors)
 Read the alignment objects from CDB.
 Each detector is supposed to have the
 alignment objects in DET/Align/Data CDB path.
 All the detector objects are then collected,
 sorted by geometry level (starting from ALIC) and
 then applied to the TGeo geometry.
 Finally an overlaps check is performed.
void SetGAliceFile(const char* fileName)
 set the name of the galice file
void SetInput(const char* input)
 In case the input string starts with 'mem://', we run in an online mode
 and AliRawReaderDateOnline object is created. In all other cases a raw-data
 file is assumed. One can give as an input:
 mem://: - events taken from DAQ monitoring libs online
  or
 mem://<filename> - emulation of the above mode (via DATE monitoring libs)
void SetOutput(const char* output)
 Set the output ESD filename
 'output' is a normalt ROOT url
 The method is used in case of raw-data reco with PROOF
void SetOption(const char* detector, const char* option)
 set options for the reconstruction of a detector
void SetRecoParam(const char* detector, AliDetectorRecoParam* par)
 Set custom reconstruction parameters for a given detector
 Single set of parameters for all the events
Bool_t InitGRP()
 Initialization of the GRP entry

Bool_t LoadCDB()
 Load CDB entries for all active detectors.
 By default we load all the entries in <det>/Calib
 folder.
Bool_t LoadTriggerScalersCDB()
 Load CTP scalers from OCDB.
 The scalers are checked for consistency.
Bool_t LoadCTPTimeParamsCDB()
 Load CTP timing information (alignment)
 from OCDB.
Bool_t ReadIntensityInfoCDB()
 Load LHC DIP data
Bool_t Run(const char* input = NULL)
void InitRawReader(const char* input)
 Init raw-reader and
 set the input in case of raw data
void InitRun(const char* input)
 Initialization of raw-reader,
 run number, CDB etc.
void Begin(TTree* )
 Initialize AlReconstruction before
 going into the event loop
 Should follow the TSelector convention
 i.e. initialize only the object on the client side
void SlaveBegin(TTree* )
 Initialization related to run-loader,
 vertexer, trackers, recontructors
 In proof mode it is executed on the slave
Bool_t Process(Long64_t entry)
 run the reconstruction over a single entry
 from the chain with raw data
void Init(TTree* tree)
 Implementation of TSelector::Init()
 method
Bool_t ProcessEvent(Int_t iEvent)
 run the reconstruction over a single event
 The event loop is steered in Run method
void CleanProcessedEvent()
void SlaveTerminate()
 Finalize the run on the slave side
 Called after the exit
 from the event loop
void Terminate()
 Create tags for the events in the ESD tree (the ESD tree is always present)
 In case of empty events the tags will contain dummy values
Bool_t RunLocalEventReconstruction(const TString& detectors)
 run the local reconstruction
Bool_t RunSPDTrackleting(AliESDEvent*& esd)
 run the SPD trackleting (for SPD efficiency purpouses)
Bool_t RunVertexFinder(AliESDEvent*& esd)
 run the barrel tracking
Bool_t RunMultFinder(AliESDEvent*& esd)
 run the trackleter for multiplicity study
Bool_t RunMuonTracking(AliESDEvent*& esd)
 run the muon spectrometer tracking
Bool_t RunMFTTrackingMU(AliESDEvent*& esd)
Bool_t RunTracking(AliESDEvent*& esd, AliESDpid& PID)
 run the barrel tracking
Bool_t CleanESD(AliESDEvent* esd)
 Remove the data which are not needed for the physics analysis.

Bool_t FillESD(AliESDEvent*& esd, const TString& detectors)
 fill the event summary data
Bool_t FillTriggerESD(AliESDEvent*& esd)
 Reads the trigger decision which is
 stored in Trigger.root file and fills
 the corresponding esd entries
Bool_t FillTriggerScalers(AliESDEvent*& esd)
Scalers
fRunScalers->Print();
Bool_t FillRawEventHeaderESD(AliESDEvent*& esd)
 Filling information from RawReader Header

Bool_t IsSelected(TString detName, TString& detectors) const
 check whether detName is contained in detectors
 if yes, it is removed from detectors
Bool_t InitRunLoader()
 get or create the run loader
AliReconstructor* GetReconstructor(Int_t iDet)
 get the reconstructor object and the loader for a detector
AliVertexer* CreateVertexer()
 create the vertexer
 Please note that the caller is the owner of the
 vertexer
AliTrackleter* CreateMultFinder()
 create the ITS trackleter for mult. estimation
 Please note that the caller is the owner of the
 trackleter
Bool_t CreateTrackers(const TString& detectors)
 create the trackers
void CleanUp()
 delete trackers and the run loader and close and delete the file
void WriteAlignmentData(AliESDEvent* esd)
 Write space-points which are then used in the alignment procedures
 For the moment only ITS, TPC, TRD and TOF
void FillRawDataErrorLog(Int_t iEvent, AliESDEvent* esd)
 The method reads the raw-data error log
 accumulated within the rawReader.
 It extracts the raw-data errors related to
 the current event and stores them into
 a TClonesArray inside the esd object.
Int_t GetDetIndex(const char* detector)
 return the detector index corresponding to detector
Bool_t FinishPlaneEff()
 Here execute all the necessary operationis, at the end of the tracking phase,
 in case that evaluation of PlaneEfficiencies was required for some detector.
 E.g., write into a DataBase file the PlaneEfficiency which have been evaluated.

 This Preliminary version works only FOR ITS !!!!!
 other detectors (TOF,TRD, etc. have to develop their specific codes)

  Input: none
  Return: kTRUE if all operations have been done properly, kFALSE otherwise

Bool_t InitPlaneEff()
 Here execute all the necessary operations, before of the tracking phase,
 for the evaluation of PlaneEfficiencies, in case required for some detectors.
 E.g., read from a DataBase file a first evaluation of the PlaneEfficiency
 which should be updated/recalculated.

 This Preliminary version will work only FOR ITS !!!!!
 other detectors (TOF,TRD, etc. have to develop their specific codes)

  Input: none
  Return: kTRUE if all operations have been done properly, kFALSE otherwise

Bool_t InitAliEVE()
 This method should be called only in case
 AliReconstruction is run
 within the alieve environment.
 It will initialize AliEVE in a way
 so that it can visualize event processed
 by AliReconstruction.
 The return flag shows whenever the
 AliEVE initialization was successful or not.
void RunAliEVE()
 Runs AliEVE visualisation of
 the current event.
 Should be executed only after
 successful initialization of AliEVE.
Bool_t SetRunQA(TString detAndAction = "ALL:ALL")
 Allows to run QA for a selected set of detectors
 and a selected set of tasks among RAWS, DIGITSR, RECPOINTS and ESDS
 all selected detectors run the same selected tasks
Bool_t InitRecoParams()
 The method accesses OCDB and retrieves all
 the available reco-param objects from there.
Bool_t GetEventInfo()
 Fill the event info object

const char * MatchDetectorList(const char* detectorList, UInt_t detectorMask)
 Match the detector list found in the rec.C or the default 'ALL'
 to the list found in the GRP (stored there by the shuttle PP which
 gets the information from ECS)
void Abort(const char* method, TSelector::EAbort what)
 Abort processing. If what = kAbortProcess, the Process() loop will be
 aborted. If what = kAbortFile, the current file in a chain will be
 aborted and the processing will continue with the next file, if there
 is no next file then Process() will be aborted. Abort() can also  be
 called from Begin(), SlaveBegin(), Init() and Notify(). After abort
 the SlaveTerminate() and Terminate() are always called. The abort flag
 can be checked in these methods using GetAbort().

 The method is overwritten in AliReconstruction for better handling of
 reco specific errors
Bool_t ProcessEvent(void* event)
 Method that is used in case the event loop
 is steered from outside, for example by AMORE
 'event' is a pointer to the DATE event in the memory
Bool_t ParseOutput()
 The method parses the output file
 location string in order to steer
 properly the selector
Bool_t IsHighPt() const
 Selection of events containing "high" pT tracks
 If at least one track is found within 1.5 and 100 GeV (pT)
 that was reconstructed by both ITS and TPC, the event is accepted
Bool_t IsCosmicOrCalibSpecie() const
 Select cosmic or calibration events
void WriteESDfriend()
 Fill the ESD friend in the tree. The required fraction of ESD friends is stored
 in fFractionFriends. We select events where we store the ESD friends according
 to the following algorithm:
 1. Store all Cosmic or Calibration events within the required fraction
 2. Sample "high Pt" events within the remaining fraction after step 1.
 3. Sample randomly events if we still have remaining slot
void DeleteDigits(const TString& detectors)
 delete requested digit files produced at current event
void DeleteRecPoints(const TString& detectors)
 delete requested recpoint files produced at current event
void SetStopOnResourcesExcess(int vRSS = 3000, int vVMEM = 4000)
 require checking the resources left and stopping on excess
 if 0  : no check is done
 if >0 : stop reconstruction if exceeds this value
 if <0 : use as margin to system limits

Bool_t HasEnoughResources(int ev)
 check if process consumed more than allowed resources
Bool_t HasNextEventAfter(Int_t eventId)
void CheckRecoCDBvsSimuCDB()
 if some CDB entries must be the same in the simulation
 and reconstruction, check here
void RectifyCDBurl(TString& url)
 TBD RS
 remove everything but the url
void SetEquipmentIdMap(const char* mapFile)
{fEquipIdMap = mapFile;}
void SetEventRange(Int_t firstEvent = 0, Int_t lastEvent = -1)
{fFirstEvent = firstEvent; fLastEvent = lastEvent;}
void SetNumberOfEventsPerFile(UInt_t nEvents)
void SetFractionFriends(Double32_t frac = 0.04)
void SetOption(const char* detector, const char* option)
void SetRunLocalReconstruction(const char* detectors)
void SetRunTracking(const char* detectors)
void SetFillESD(const char* detectors)
{fFillESD = detectors;}
void SetRunReconstruction(const char* detectors)
void SetDeleteRecPoints(const char* dets)
void SetDeleteDigits(const char* dets)
{fDeleteDigits = dets;}
void SetUseTrackingErrorsForAlignment(const char* detectors)
void SetLoadAlignFromCDB(Bool_t load)
void SetLoadAlignData(const char* detectors)
{fLoadAlignData = detectors;}
void SetTreeBuffSize(Long64_t sz = 30000000)
*** Global reconstruction flag setters
void SetRunMultFinder(Bool_t flag = kTRUE)
void SetRunVertexFinder(Bool_t flag = kTRUE)
void SetRunVertexFinderTracks(Bool_t flag = kTRUE)
void SetRunV0Finder(Bool_t flag = kTRUE)
{fRunV0Finder=flag;}
void SetRunCascadeFinder(Bool_t flag = kTRUE)
void SetStopOnError(Bool_t flag = kTRUE)
{fStopOnError=flag;}
void SetStopOnMissingTriggerFile(Bool_t flag = kTRUE)
void SetWriteAlignmentData(Bool_t flag = kTRUE)
void SetWriteESDfriend(Bool_t flag = kTRUE)
void SetFillTriggerESD(Bool_t flag = kTRUE)
void SetDiamondProfileSPD(AliESDVertex* dp)
void SetDiamondProfile(AliESDVertex* dp)
void SetDiamondProfileTPC(AliESDVertex* dp)
void SetCleanESD(Bool_t flag = kTRUE)
{fCleanESD=flag;}
void SetUseHLTData(const char* detectors)
{fUseHLTData=detectors;}
void SetV0DCAmax(Float_t d)
void SetV0CsPmin(Float_t d)
void SetDmax(Float_t d)
{fDmax=d;}
void SetZmax(Float_t z)
{fZmax=z;}
Float_t GetV0DCAmax() const
{return fV0DCAmax;}
Float_t GetV0CsPmin() const
{return fV0CsPmin;}
Float_t GetDmax() const
{return fDmax;}
Float_t GetZmax() const
{return fZmax;}
Bool_t IsRunMultFinder() const
{return fRunMultFinder;}
void ResetCheckRecoCDBvsSimuCDB()
const TObjArray* GetCheckRecoCDBvsSimuCDB() const
void SetAlignObjArray(TObjArray* array)
Int_t Version() const
{return 2;}
AliTracker* GetTracker(Int_t idx) const
 Trackers
{ return fTracker[idx]; }
void ImportRunLoader(AliRunLoader* rl)
{ fRunLoader = rl; }
void SetQACycles(AliQAv1::DETECTORINDEX_t det, Int_t cycles)
 Quality Assurance
{ fQACycles[det] = cycles ; }
void SetQAWriteExpert(AliQAv1::DETECTORINDEX_t det)
{ fQAWriteExpert[det] = kTRUE ; }
void SetRunGlobalQA(Bool_t flag = kTRUE)
{fRunGlobalQA = flag;}
void SetWriteQAExpert()
Bool_t IsRunQA() const
{ return fRunQA ; }
Bool_t IsRunGlobalQA() const
{ return fRunGlobalQA ; }
Bool_t IsInTasks(AliQAv1::TASKINDEX_t tsk)
{ return fQATasks.Contains(Form("%d", tsk)) ; }
void SetRunPlaneEff(Bool_t flag = kFALSE)
 Plane Efficiency Evaluation
{fRunPlaneEff = flag;}
const char** GetDetectorNames()
{ return fgkDetectorName; }
void SetUpgradeModule(const char* detectors)
 Upgrade
void SetAnalysisMacro(const char* macropath)
 Connection to analysis manager.
 If a macro is set it should contain a function returning an analysis
 manager object. The macro is ignored in case the analysis manager is
 set via SetAnalysisManager
{fAnalysisMacro = macropath;}
const char * GetAnalysisMacro() const
{return fAnalysisMacro.Data();}
void SetAnalysisManager(AliAnalysisManager* mgr)
{fAnalysis = mgr;}
AliAnalysisManager * GetAnalysisManager() const
{return fAnalysis;}
void DeclareTriggerClasses(const char* trClasses)
 A method to declare defined trigger classes even if they are not
 present in the run, needed for proper event selection based on trigger
{fDeclTriggerClasses = trClasses;}
AliESDEvent* GetESDEvent() const
{ return fesd; }
AliESDfriend* GetESDfriend() const
{ return fesdf; }
AliRunLoader* GetRunLoader() const
{ return fRunLoader;}
AliRawReader* GetRawReader() const
{ return fRawReader; }