ROOT logo
AliRoot » MUON » AliMUONTrackHitPattern

class AliMUONTrackHitPattern: public TObject

 \class AliMUONTrackHitPattern

 This class propagates tracks to trigger chambers
 searching for matching trigger tracks and fired strips.

 To each track, a hit pattern for trigger chambers is set.

 The main method is:
 * ExecuteValidation

  \author Diego Stocco

Function Members (Methods)

public:
AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam, const AliMUONGeometryTransformer& transformer, const AliMUONVDigitStore& digitStore, const AliMUONTriggerUtilities* triggerUtilities)
virtual~AliMUONTrackHitPattern()
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 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)
voidExecuteValidation(const AliMUONVTrackStore& trackStore, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) const
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()
UInt_tGetHitPattern(const AliMUONTriggerTrack* matchedTriggerTrack) const
UInt_tGetHitPattern(AliMUONTrackParam* trackParam) const
UInt_tGetHitPattern(const AliMUONTrackParam& trackParam, Bool_t isTriggerTrack) 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*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
AliMUONTriggerTrack*MatchTriggerTrack(AliMUONTrack* track, AliMUONTrackParam& trackParam, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) 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 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)
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:
voidApplyMCSCorrections(AliMUONTrackParam& trackParam) const
Int_tDetElemIdFromPos(Float_t x, Float_t y, Int_t chamber, Int_t* foundDetElemId) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tFindMatchingPads(const AliMUONTrackParam* trackParam, TArrayI& matchedDetElemId, TObjArray& pads, const AliMUONVDigitStore& digitStore, Bool_t isTriggerTrack) const
voidFindPadMatchingTrack(const AliMUONTrackParam& trackParam, Bool_t* isMatch, Int_t iChamber) const
Bool_tFindPadMatchingTrig(const TVector3& vec11, const TVector3& vec21, Int_t* matchedDetElemId, TObjArray& matchedPads) const
const AliMUONRecoParam*GetRecoParam() const
Int_tGetTrackParamAtChamber(const AliMUONTrackParam& inputTrackParam, Int_t chamber, TObjArray& trackParamList, TArrayI& foundDetElemId, TObjArray& padsFromPos) const
Bool_tIsCloseToAccEdge(TObjArray& pads, Int_t detElemId, Float_t* coor) const
Bool_tIsMasked(const AliMpPad& pad, Int_t detElemId, Int_t cathode, const TVector3& vec11, const TVector3& vec21) const
voidTObject::MakeZombie()
Float_tMinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad, Float_t dpx, Float_t dpy, const AliMUONTrackParam& trackParam) const
Float_tPadMatchTrack(const AliMpPad& pad, const TVector3& trackPosAtPad) const
Bool_tPadsFromPos(const TVector3& vec11, const TVector3& vec21, Int_t detElemId, TObjArray& pads) const
Bool_tPerformTrigTrackMatch(UInt_t& pattern, const AliMUONTriggerTrack* matchedTrigTrack) const
Bool_tPosInDetElemIdLocal(TVector3& localCoor, const TVector3& globalPoint1, const TVector3& globalPoint2, Int_t detElemId) const

Data Members

private:
const AliMUONVDigitStore&fkDigitStore!< digitStore
const Float_tfkMaxDistance!< Maximum distance for reference // obsolete
const AliMUONRecoParam*fkRecoParam!< pointer to reco parameters
const AliMUONGeometryTransformer&fkTransformer!< geometry transformer
const AliMUONTriggerUtilities*fkTriggerUtilities!< trigger utilities for mapping

Class Charts

Inheritance Chart:
TObject
AliMUONTrackHitPattern

Function documentation

AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam, const AliMUONGeometryTransformer& transformer, const AliMUONVDigitStore& digitStore, const AliMUONTriggerUtilities* triggerUtilities)
 Default constructor
~AliMUONTrackHitPattern(void)
 Destructor
ApplyMCSCorrections(AliMUONTrackParam& trackParam) const
 Returns uncertainties on extrapolated position.
 Takes into account Branson plane corrections in the iron wall.

void ExecuteValidation(const AliMUONVTrackStore& trackStore, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) const
 Main method:
 Loops on reco tracks, extrapolates them to trigger chambers
 and searches for matching trigger tracks and digits

Bool_t FindMatchingPads(const AliMUONTrackParam* trackParam, TArrayI& matchedDetElemId, TObjArray& pads, const AliMUONVDigitStore& digitStore, Bool_t isTriggerTrack) const
 Search for matching digits in trigger chamber

UInt_t GetHitPattern(const AliMUONTrackParam& trackParam, Bool_t isTriggerTrack) const
 Searches for matching digits around the track.

Int_t GetTrackParamAtChamber(const AliMUONTrackParam& inputTrackParam, Int_t chamber, TObjArray& trackParamList, TArrayI& foundDetElemId, TObjArray& padsFromPos) const
 Return the extrapolated the track parameter at the given chamber
 and returns the matching DetElemId
 CAVEAT: at the border the result is not univoque

MatchTriggerTrack(AliMUONTrack* track, AliMUONTrackParam& trackParam, const AliMUONVTriggerTrackStore& triggerTrackStore, const AliMUONVTriggerStore& triggerStore) const
 Match track with trigger track

Bool_t PosInDetElemIdLocal(TVector3& localCoor, const TVector3& globalPoint1, const TVector3& globalPoint2, Int_t detElemId) const
 Given two points belonging to a line (global coordinates)
 it returns the intersection point with the detElemId (local coordinates)
UInt_t GetHitPattern(const AliMUONTriggerTrack* matchedTriggerTrack) const
 Get hit pattern on trigger chambers for the current trigger track

UInt_t GetHitPattern(AliMUONTrackParam* trackParam) const
 Get hit pattern on trigger chambers for the current tracker track

FindPadMatchingTrack(const AliMUONTrackParam& trackParam, Bool_t* isMatch, Int_t iChamber) const
 Given the tracker track position, searches for matching digits.

MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad, Float_t dpx, Float_t dpy, const AliMUONTrackParam& trackParam) const
 Decides if the digit belongs to the tracker track.

Bool_t FindPadMatchingTrig(const TVector3& vec11, const TVector3& vec21, Int_t* matchedDetElemId, TObjArray& matchedPads) const
 Check slat and board number of digit matching trigger track

Float_t PadMatchTrack(const AliMpPad& pad, const TVector3& trackPosAtPad) const
 Decides if the digit belongs to the trigger track.

Int_t DetElemIdFromPos(Float_t x, Float_t y, Int_t chamber, Int_t* foundDetElemId) const
 Given the (x,y) position in the chamber,
 it returns the corresponding slats
 Caveat: at the border the result is not univoque

Bool_t PadsFromPos(const TVector3& vec11, const TVector3& vec21, Int_t detElemId, TObjArray& pads) const
 Given the (x,y) position in the chamber,
 it returns the corresponding local board

Bool_t IsCloseToAccEdge(TObjArray& pads, Int_t detElemId, Float_t* coor) const
Bool_t IsMasked(const AliMpPad& pad, Int_t detElemId, Int_t cathode, const TVector3& vec11, const TVector3& vec21) const
 Check if pad or its neighbours are masked

Bool_t PerformTrigTrackMatch(UInt_t& pattern, const AliMUONTriggerTrack* matchedTrigTrack) const
 It searches for matching digits around the trigger track.

AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam, const AliMUONGeometryTransformer& transformer, const AliMUONVDigitStore& digitStore, const AliMUONTriggerUtilities* triggerUtilities)
const AliMUONRecoParam* GetRecoParam() const
 Return reco parameters
{ return fkRecoParam; }