ROOT logo
AliRoot » MUON » AliMUONRefitter

class AliMUONRefitter: public TObject

 \class AliMUONRefitter

 This class has been developped to simplify the re-reconstruction of the MUON tracks
 stored into ESD with different recoParams and/or after having re-calibrated the digits.
 It creates new MUON object from ESD objects given as input (through the ESDInterface) then:

 - re-clusterize the ESD clusters using the attached ESD pads
   (several new clusters can be reconstructed per ESD cluster)
 - re-fit the ESD tracks using the attached ESD clusters
 - reconstruct the ESD tracks from ESD pads (i.e. re-clusterized the attached clusters)

 note:
 - connexion between an ESD cluster and corresponding MUON clusters from re-clustering
   can be made through the detection element ID
 - connexion between an ESD track and the corresponding refitted MUON track
   can be made through their unique ID

 \author Philippe Pillot

Function Members (Methods)

public:
AliMUONRefitter(const AliMUONRecoParam* recoParam)
virtual~AliMUONRefitter()
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
voidConnect(const AliMUONESDInterface* esdInterface)
virtual voidTObject::Copy(TObject& object) 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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
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*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
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 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)
AliMUONVClusterStore*ReClusterize(UInt_t clusterId)
AliMUONVClusterStore*ReClusterize(UInt_t trackId, UInt_t clusterId)
AliMUONVTrackStore*ReconstructFromClusters()
AliMUONVTrackStore*ReconstructFromDigits()
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
AliMUONTrack*RetrackFromClusters(UInt_t trackId)
AliMUONTrack*RetrackFromDigits(UInt_t trackId)
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)
voidSetFirstClusterIndex(Int_t index)
static voidTObject::SetObjectStat(Bool_t stat)
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
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:
AliMUONRefitter(const AliMUONRefitter&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
AliMUONRefitter&operator=(const AliMUONRefitter&)

Data Members

private:
AliMUONVClusterServer*fClusterServer/< clusterizer (owner)
AliMUONGeometryTransformer*fGeometryTransformer/< geometry transformer (owner)
AliMUONVTrackReconstructor*fTracker/< tracker (owner)
const AliMUONESDInterface*fkESDInterface/< container of MUON tracks/clusters/digits (not owner)
const AliMUONRecoParam*fkRecoParam/< pointer to reco param (not owner)
Int_tnextClusterIndex/< Index of the next cluster produced by this refitter (to build its uniqueID)

Class Charts

Inheritance Chart:
TObject
AliMUONRefitter

Function documentation

AliMUONRefitter(const AliMUONRecoParam* recoParam)
 Default constructor
~AliMUONRefitter()
 Destructor
AliMUONVTrackStore* ReconstructFromDigits()
 re-reconstruct all tracks and attached clusters from the digits
 it is the responsability of the user to delete the returned store
AliMUONVTrackStore* ReconstructFromClusters()
 refit all tracks from the attached clusters
 it is the responsability of the user to delete the returned store
AliMUONTrack* RetrackFromDigits(UInt_t trackId)
 refit track "trackId" from the digits (i.e. re-clusterized the attached clusters)
 it is the responsability of the user to delete the returned track
AliMUONTrack* RetrackFromClusters(UInt_t trackId)
 refit track "trackId" from the clusters (i.e. do not re-clusterize)
 it is the responsability of the user to delete the returned track
AliMUONVClusterStore* ReClusterize(UInt_t trackId, UInt_t clusterId)
 re-clusterize cluster numbered "clusterId" in track "trackId"
 several new clusters may be reconstructed
 it is the responsability of the user to delete the returned store
AliMUONVClusterStore* ReClusterize(UInt_t clusterId)
 re-clusterize cluster "clusterId"
 several new clusters may be reconstructed
 it is the responsability of the user to delete the returned store
void CreateGeometryTransformer()
 Create geometry transformer (local<->global)
 and load geometry data
void CreateClusterServer(AliMUONGeometryTransformer& transformer)
 Create cluster server
AliMUONTrack* RetrackFromDigits(const AliMUONTrack& track)
 refit the given track from the digits (i.e. re-clusterized the attached clusters):
 several new clusters may be reconstructed per initial ESD cluster:
 -> all the combinations of clusters are considered to build the new tracks
 -> return the best track (largest number of clusters or best chi2 in case of equality)
Bool_t AddClusterToTracks(const AliMUONVClusterStore& localClusterStore, AliMUONVTrackStore& trackStore)
 add clusters to each of the given tracks
 duplicate the tracks if there are several clusters and add one cluster per copy
AliMUONRefitter(const AliMUONRecoParam* recoParam)
void Connect(const AliMUONESDInterface* esdInterface)
 connect to the ESD interface containing MUON data to refit
{fkESDInterface = esdInterface;}
void SetFirstClusterIndex(Int_t index)
 set the first index of clusters produced by this refitter (to build its uniqueID)
{nextClusterIndex = (index >= 0) ? index : 0;}
AliMUONRefitter& operator=(const AliMUONRefitter& )