ROOT logo
AliRoot » MUON » AliMUONReconstructor

class AliMUONReconstructor: public AliReconstructor

 \class AliMUONReconstructor

 Implementation of AliReconstructor for MUON subsystem.

 The clustering mode and the associated parameters can be changed through the
 AliMUONRecoParam object set in the reconstruction macro or read from the CDB
 (see methods in AliMUONRecoParam.h file for details)

 Valid modes are :

 SIMPLEFIT : use the AliMUONClusterFinderSimpleFit clusterizer

 SIMPLEFITV3 : SIMPLEFIT with preclustering=PRECLUSTERV3

 MLEM : use AliMUONClusterFinderMLEM and AliMUONPreClusterFinder for preclustering (default)
 MLEMV2 : MLEM with preclustering=PRECLUSTERV2
 MLEMV3 : MLEM with preclustering=PRECLUSTERV3

 PRECLUSTER : use only AliMUONPreClusterFinder. Only for debug as
 the produced clusters do not have a position, hence the tracking will not
 work
 PRECLUSTERV2 : another version of the preclustering
 PRECLUSTERV3 : yet another version of the preclustering

 COG : use AliMUONClusterFinderCOG clusterizer. Not really a production
 option either, as center-of-gravity is generally not a good estimate
 of the cluster position...

 PEAKCOG : COG cluster finder around local maxima
 PEAKFIT : fit around local maxima with up to 3 peaks, COG otherwise

 NOCLUSTERING : bypass completely the clustering stage

 ------

 The behavior of the MUON reconstruction can also be changed, besides
 the usual methods found in AliReconstruction (e.g. to disable tracking)
 by using AliReconstruction::SetOption("MUON",options)
 where options should be a space separated string.

 Valid options are :

 SAVEDIGITS : if you want to save in the TreeD the *calibrated* digits
     that are used for the clustering

 DIGITSTOREV1 : use the V1 implementation of the digitstore
 DIGITSTOREV2R : use the V2R implementation of the digitstore

 NOLOCALRECONSTRUCTION : for debug, to disable local reconstruction (and hence
 "recover" old behavior)

 TRIGGERDISABLE : disable the treatment of MUON trigger

 ENABLEERRORLOGGING : enable error logging (this activates also warnings in RawStreamTracker)

 \author Laurent Aphecetche, Subatech

Function Members (Methods)

public:
AliMUONReconstructor()
virtual~AliMUONReconstructor()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const
virtual voidTObject::Copy(TObject& object) const
static AliMUONVClusterFinder*CreateClusterFinder(const char* clusterFinderType)
virtual AliTrackleter*AliReconstructor::CreateMultFinder() const
virtual AliTracker*CreateTracker() const
virtual AliTracker*AliReconstructor::CreateTrackleter() const
virtual AliVertexer*AliReconstructor::CreateVertexer() const
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 voidAliReconstructor::FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd) const
virtual voidAliReconstructor::FillESD(AliRawReader* rawReader, TTree* clustersTree, AliESDEvent* esd) const
virtual voidAliReconstructor::FillEventTimeWithTOF(AliESDEvent*, AliESDpid*)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliReconstructor::FinishEvent()
virtual const char*AliReconstructor::GetDetectorName() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const AliEventInfo*AliReconstructor::GetEventInfo() const
AliESDEvent*AliReconstructor::GetHLTESD() const
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*AliReconstructor::GetOption() const
virtual voidAliReconstructor::GetPidSettings(AliESDpid* esdPID)
static const AliMUONRecoParam*GetRecoParam()
const AliRunInfo*AliReconstructor::GetRunInfo() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Bool_tHasDigitConversion() const
virtual ULong_tTObject::Hash() const
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 voidAliReconstructor::Init()
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_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::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 Int_tTObject::Read(const char* name)
virtual voidReconstruct(AliRawReader* rawReader, TTree* clustersTree) const
virtual voidReconstruct(TTree* digitsTree, TTree* clustersTree) const
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliReconstructor::SetEventInfo(AliEventInfo* evInfo)
voidAliReconstructor::SetHLTESD(AliESDEvent* hltesd)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliReconstructor::SetOption(Option_t* option)
voidAliReconstructor::SetRecoParam(const AliDetectorRecoParam* par)
voidAliReconstructor::SetRunInfo(AliRunInfo* runInfo)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidAliReconstructor::Terminate() const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
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
voidTObject::MakeZombie()

Data Members

private:
AliMUONCalibrationData*fCalibrationData!< Calibration data
TObjArrayfClusterServers!< Clusterizers (one per event specie)
AliMUONVClusterStore*fClusterStore!< cluster store (when not in combined tracking mode)
AliMUONDigitCalibrator*fDigitCalibrator!< Digit to calibrate digit converter
AliMUONDigitMaker*fDigitMaker!< Raw to Digits converter
AliMUONVDigitStore*fDigitStore!< Digit container
Bool_tfShouldCalibratewhether the fDigitCalibrator should be non-null
AliMUONVTrackStore*fTrackStore!< Track container
TObjArrayfTrackers!< trackers (one per event specie)
AliMUONGeometryTransformer*fTransformer!< Geometry transformer (local<->global)
AliMUONTriggerCircuit*fTriggerCircuit!< Trigger Circuit
AliMUONTriggerElectronics*fTriggerProcessor!< Processor to recalculate trigger response
AliMUONVTriggerStore*fTriggerStore!< Trigger container
AliMUONTriggerUtilities*fTriggerUtilities!< Trigger utilities for masks

Class Charts

Inheritance Chart:
TObject
AliReconstructor
AliMUONReconstructor

Function documentation

AliMUONReconstructor()
 normal ctor
~AliMUONReconstructor()
 dtor
Calibrate(AliMUONVDigitStore& digitStore) const
 Calibrate the digitStore
ConvertDigits(AliRawReader* rawReader, AliMUONVDigitStore* digitStore, AliMUONVTriggerStore* triggerStore) const
 Convert raw data into digit and trigger stores
ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const
 convert raw data into a digit tree
CreateDigitMaker() const
 Create (and create if necessary) the digit maker
CreateTriggerCircuit() const
 Return (and create if necessary) the trigger circuit object
CreateTriggerUtilities() const
 Return (and create if necessary) the trigger utilities object
CreateTracker() const
 Create the MUONTracker object
CreateClusterFinder(const char* clusterFinderType)
 Create a given cluster finder instance
CreateClusterServer(const AliMUONRecoParam& rp) const
 Create cluster server
CreateCalibrationData() const
 Create the calibrator
CreateCalibrator() const
 Create the calibrator
ResponseRemovingChambers(AliMUONVTriggerStore* triggerStore) const
 Update trigger information with informatins obtained after
 re-calculation of trigger response
DigitStore() const
 Return (and create if necessary) the digit container
FillTreeR(AliMUONVTriggerStore* triggerStore, TTree& clustersTree) const
 Write the trigger and cluster information into TreeR
const AliMUONRecoParam* GetRecoParam()
 Get the recoparam from reconstruction
HasDigitConversion() const
 We *do* have digit conversion, but we might advertise it only
 if we want to save the digits.
Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const
 This method is called by AliReconstruction if HasLocalReconstruction()==kTRUE AND
 HasDigitConversion()==kFALSE
Reconstruct(TTree* digitsTree, TTree* clustersTree) const
 This method is called by AliReconstruction if HasLocalReconstruction()==kTRUE
 AND HasDigitConversion()==kTRUE
TriggerStore() const
 Return (and create if necessary and allowed) the trigger container
AliMUONReconstructor()
AliMUONReconstructor& operator=(const AliMUONReconstructor& )
 Not implemented