ROOT logo
AliRoot » FASTSIM » AliMUONFastTracking

class AliMUONFastTracking: public TObject

        Class AliMUONFastTracking

  Manager for the fast simulation of tracking in the muon spectrometer
  This class reads the lookup tables containing the parameterization
  of the deltap, deltatheta, deltaphi for different background levels
  and provides the related smeared parameters.
  Used by AliFastMuonTrackingEff, AliFastMuonTrackingAcc,
  AliFastMuonTrackingRes.

Function Members (Methods)

public:
virtual~AliMUONFastTracking()
voidTObject::AbstractMethod(const char* method) const
Float_tAcceptance(Float_t p, Float_t theta, Float_t phi, Int_t charge)
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::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
Float_tEfficiency(Float_t p, Float_t theta, Float_t phi, Int_t charge)
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
Float_tGetBackground() const
voidGetBinning(Int_t& nbinp, Float_t& pmin, Float_t& pmax, Int_t& nbintheta, Float_t& thetamin, Float_t& thetamax, Int_t& nbinphi, Float_t& phimin, Float_t& phimax) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TF1*GetFitP(Int_t ip, Int_t itheta, Int_t iphi)
virtual const char*TObject::GetIconName() const
voidGetIpIthetaIphi(Float_t p, Float_t theta, Float_t phi, Int_t charge, Int_t& ip, Int_t& itheta, Int_t& iphi) 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
voidGetSplit(Int_t ip, Int_t itheta, Int_t& nSplitP, Int_t& nSplitTheta) 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
voidInit(Float_t bkg)
virtual voidTObject::Inspect() constMENU
static AliMUONFastTracking*Instance()
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
Float_tMeanG2(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tMeanP(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tMeanPhi(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tMeanTheta(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tNormG2(Float_t p, Float_t theta, Float_t phi, Int_t charge) 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)
voidReadLUT(TFile* file)
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 = "")
voidSetBackground(Float_t bkg)
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)
voidSetLUTClusterFinder(LUTClusterType clusterFinder)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSpline()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
Float_tSigma1P(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tSigmaG2(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tSigmaP(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
Float_tSigmaPhi(Float_t p, Float_t theta, Float_t phi, Int_t charge)
Float_tSigmaTheta(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
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()
voidUseSpline(Int_t splineSwitch = 1)
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

protected:
Float_tfBkgsoft background level
LUTClusterTypefClusterFindertype of cluster finder (old/new)
AliMUONFastTrackingEntry*fCurrentEntry[20][20][20]array of LUT parameters
Float_tfDeltaPmomentum bin width
Float_tfDeltaPhiphi bin width
Float_tfDeltaThetatheta bin width
AliMUONFastTrackingEntry*fEntry[20][20][20][4]array of LUT parameters
TF1*fFitp[20][20][20]func for psmear-pgen distr
Int_tfNbinpn. of momentum bins in the lookup table
Int_tfNbinphin. of phi bins in the lookup table
Int_tfNbinthetan. of theta bins in the lookup table
Float_tfPhimaxmin. value of phi parameterized in LUT
Float_tfPhiminmin. value of phi parameterized in LUT
Float_tfPmaxmax. value of momentum parameterized in LUT
Float_tfPminmin. value of momentum parameterized in LUT
Int_tfPrintLevellevel of information printed for debugging
Int_tfSplineswitches on/off the use of spline
TSpline3*fSplineAcc[200][3]spline funcs for acceptance
TSpline3*fSplineEff[200][3]spline funcs for efficiency
TSpline3*fSplineSigma1p[200][3]spl.funcs for dp distr. width correction (see function FitP)
TSpline3*fSplineSigmap[200][3]spl.funcs for dp distribution width
TSpline3*fSplineSigmaphi[200][3]spl.funcs for dphi distr. width
TSpline3*fSplineSigmatheta[200][3]spl.funcs for dtheta distr. width
Float_tfThetamaxmax. value of theta parameterized in LUT
Float_tfThetaminmin. value of theta parameterized in LUT
static AliMUONFastTracking*fgMUONFastTracking!Pointer to single instance

Class Charts

Inheritance Chart:
TObject
AliMUONFastTracking

Function documentation

AliMUONFastTracking(const AliMUONFastTracking& ft)
 Copy constructor
AliMUONFastTracking* Instance()
 Set random number generator
AliMUONFastTracking()
 constructor

void Init(Float_t bkg)
  Initialization

void ReadLUT(TFile* file)
 read the lookup tables from file

void GetBinning(Int_t& nbinp, Float_t& pmin, Float_t& pmax, Int_t& nbintheta, Float_t& thetamin, Float_t& thetamax, Int_t& nbinphi, Float_t& phimin, Float_t& phimax) const
 gets the binning for the discrete parametrizations in the lookup table

void GetIpIthetaIphi(Float_t p, Float_t theta, Float_t phi, Int_t charge, Int_t& ip, Int_t& itheta, Int_t& iphi) const
 gets the id of the cells in the LUT for a given (p,theta,phi, charge)

void GetSplit(Int_t ip, Int_t itheta, Int_t& nSplitP, Int_t& nSplitTheta) const
 the first cell is splitted in more bins for theta and momentum
 parameterizations. Get the number of divisions for the splitted bins

Float_t Efficiency(Float_t p, Float_t theta, Float_t phi, Int_t charge)
 gets the tracking efficiency

Float_t Acceptance(Float_t p, Float_t theta, Float_t phi, Int_t charge)
 gets the geometrical acceptance

Float_t MeanP(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the mean value of the prec-pgen distribution

Float_t SigmaP(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the width of the prec-pgen distribution

Float_t Sigma1P(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the width correction of the prec-pgen distribution (see FitP)

Float_t NormG2(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the relative normalization of the background
 (gaussian) component in the prec-pgen distribution

Float_t MeanG2(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the mean value of the background
 (gaussian) component in the prec-pgen distribution

Float_t SigmaG2(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the width of the background
 (gaussian) component in the prec-pgen distribution

Float_t MeanTheta(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the mean value of the thetarec-thetagen distribution

Float_t SigmaTheta(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the width of the thetarec-thetagen distribution

Float_t MeanPhi(Float_t p, Float_t theta, Float_t phi, Int_t charge) const
 gets the mean value of the phirec-phigen distribution

Float_t SigmaPhi(Float_t p, Float_t theta, Float_t phi, Int_t charge)
 gets the width of the phirec-phigen distribution

void SetSpline()
 sets the spline functions for a smooth behaviour of the parameters
 when going from one cell to another

void SetBackground(Float_t bkg)
 linear interpolation of the parameters in the LUT between 2 values where
 the background has been actually calculated

TF1* GetFitP(Int_t ip, Int_t itheta, Int_t iphi)
 gets the correct prec-pgen distribution for a given LUT cell
AliMUONFastTracking& operator=(const AliMUONFastTracking& rhs)
 Assignment operator
void Copy(TObject& ) const
~AliMUONFastTracking()
{;}
Float_t GetBackground() const
{return fBkg;}
void SetLUTClusterFinder(LUTClusterType clusterFinder)
{ fClusterFinder = clusterFinder;}
void UseSpline(Int_t splineSwitch = 1)
{fSpline = splineSwitch;}
AliMUONFastTracking()