ROOT logo
AliRoot » ITS » AliITSPlaneEffSPD

class AliITSPlaneEffSPD: public AliITSPlaneEff

Function Members (Methods)

public:
AliITSPlaneEffSPD()
AliITSPlaneEffSPD(const AliITSPlaneEffSPD& source)
virtual~AliITSPlaneEffSPD()
voidTObject::AbstractMethod(const char* method) const
virtual Bool_tAddFromCDB()
Bool_tAddFromCDB(AliCDBId* cdbId)
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
virtual Double_tErrLivePlaneEff(UInt_t key) const
Double_tErrLivePlaneEff(const UInt_t mod, const UInt_t chip) const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Double_tErrPlaneEff(const UInt_t key) const
Double_tErrPlaneEff(const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0) 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 Bool_tFillHistos(UInt_t key, Bool_t found, Float_t* track, Float_t* cluster, Int_t* ctype, Float_t* angtrkmod)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Bool_tGetBlockBoundaries(const UInt_t key, Float_t& xmn, Float_t& xmx, Float_t& zmn, Float_t& zmx) const
virtual Bool_tAliITSPlaneEff::GetCreateHistos() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetFound(const UInt_t key) const
virtual Double_tGetFracBad(const UInt_t key) const
virtual Double_tGetFracLive(const UInt_t key) const
virtual const char*TObject::GetIconName() const
UInt_tGetKey(const UInt_t mod, const UInt_t chip, const Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
virtual UInt_tGetKeyFromDetLocCoord(Int_t ilay, Int_t idet, Float_t, Float_t locz) const
virtual const char*TObject::GetName() const
virtual Int_tAliITSPlaneEff::GetNTracksForGivenEff(Double_t eff, Double_t RelErr) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual voidAliITSPlaneEff::GetPlaneEff(Int_t nfound, Int_t ntried, Double_t& eff, Double_t& err) const
Int_tAliITSPlaneEff::GetRunNumber() const
virtual const char*TObject::GetTitle() const
Int_tGetTried(const UInt_t key) 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 voidAliITSPlaneEff::InitCDB()
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 Double_tLivePlaneEff(UInt_t key) const
Double_tLivePlaneEff(const UInt_t mod, const UInt_t chip) const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual UInt_tNblock() 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)
AliITSPlaneEffSPD&operator+=(const AliITSPlaneEffSPD& add)
AliITSPlaneEffSPD&operator=(const AliITSPlaneEffSPD& s)
virtual voidTObject::Paint(Option_t* option = "")
virtual Double_tPlaneEff(const UInt_t key) const
Double_tPlaneEff(const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual Bool_tReadFromCDB()
virtual Bool_tReadHistosFromFile(TString filename = "PlaneEffSPDHistos.root")
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 voidSetCreateHistos(Bool_t his = kFALSE)
voidAliITSPlaneEff::SetDefaultStorage(const char* uri)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliITSPlaneEff::SetRunNumber(Int_t n)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
UInt_tSwitchChipKeyNumbering(UInt_t key) const
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 Bool_tUpDatePlaneEff(const Bool_t Kfound, const UInt_t key)
Bool_tUpDatePlaneEff(const Bool_t Kfound, const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0)
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
virtual Bool_tWriteHistosToFile(TString filename = "PlaneEffSPDHistos.root", Option_t* option = "RECREATE")
virtual Bool_tWriteIntoCDB() const
protected:
virtual voidCopy(TObject& obj) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tFillHistosFO(UInt_t key, Bool_t found, Float_t* track)
Bool_tFillHistosStd(UInt_t key, Bool_t found, Float_t* track, Float_t* cluster, Int_t* ctype, Float_t* angtrkmod)
UInt_tGetBCm4FromKey(const UInt_t key) const
UInt_tGetChipFromCol(const UInt_t col) const
UInt_tGetChipFromKey(const UInt_t key) const
UInt_tGetColFromLocZ(Float_t zloc) const
voidGetDeadAndNoisyInChip(const UInt_t key, UInt_t& dead, UInt_t& noisy) const
Float_tGetLocXFromRow(const UInt_t row) const
Float_tGetLocZFromCol(const UInt_t col) const
Int_tGetMissingTracksForGivenEff(Double_t eff, Double_t RelErr, UInt_t im, UInt_t ic) const
voidGetModAndChipFromKey(const UInt_t key, UInt_t& mod, UInt_t& chip) const
UInt_tGetModFromKey(const UInt_t key) const
Bool_tIsForFO(const UInt_t key) const
voidTObject::MakeZombie()
voidAliITSPlaneEff::NotImplemented(const char* method) const
private:
virtual voidCopyHistos(AliITSPlaneEffSPD& target) const
virtual voidDeleteHistos()
virtual voidInitHistos()

Data Members

public:
enum { kNModule
kNModuleLy1
kNChip
kNCol
kNRow
kNClockPhase
kNHisto
kNclu
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringAliITSPlaneEff::fCDBUri! Uri of the default CDB storage
Int_tfFound[6000]if(<kNModule*kNChip) is the number of associated clusters in a given chip
Bool_tAliITSPlaneEff::fHis! if true, then histograms are created and filled
Bool_tAliITSPlaneEff::fInitCDBCalled! flag to check if CDB storages are already initialized
Int_tAliITSPlaneEff::fRunNumber! run number (to access CDB)
Int_tfTried[6000]if(<kNModule*kNChip) is the number of tracks used for chip efficiency evaluation
private:
TH1F**fHisClusErrX! histos with Local_X cluster error
TH1F**fHisClusErrZ! histos with Local_Z cluster error
TH2I**fHisClusterSize! histos with cluster-size distribution
TH1F**fHisResX! histos with residual distribution (track-cluster) along local X (r-phi)
TH2F**fHisResXZ! 2-d histos with residual distribution (track-cluster) along local X and Z
TH1F***fHisResXchip! histos with residual distribution along local X (r-phi) chip by chip
TH1F***fHisResXclu! histos with residual distribution along local X (r-phi) for cluster type
TH1F**fHisResZ! histos with residual distribution (track-cluster) along local Z
TH1F***fHisResZchip! histos with residual distribution along local Z chip by chip
TH1F***fHisResZclu! histos with residual distribution along local Z for cluster type
TH1F**fHisTrackErrX! histos with track prediction error on Local X
TH1F**fHisTrackErrZ! histos with track prediction error on Local Z
TH1F***fHisTrackXFOfalse! histos with track prediction along local X (r-phi) if FastOr bit is not found
TH1F***fHisTrackXFOtrue! histos with track prediction along local X (r-phi) if FastOr bit is found
TH2F***fHisTrackXZFOfalse! histos with track prediction along local X (r-phi) and Z if FastOr bit is not found
TH2F***fHisTrackXZFOtrue! histos with track prediction along local X (r-phi) and Z if FastOr bit is found
TH1F***fHisTrackZFOfalse! histos with track prediction along local Z if FastOr bit is not found
TH1F***fHisTrackZFOtrue! histos with track prediction along local Z if FastOr bit is found
TProfile**fProfResXvsPhi! TProfile of X Residuals vs. impact Angle phi (of the track w.r.t. module)
TProfile***fProfResXvsPhiclu! TProfile of X Residuals vs. impact Angle phi (of the track w.r.t. module) for different clu. type
TProfile**fProfResZvsDip! TProfile of Z Residuals vs. impact dip Angle (of the track w.r.t. module)
TProfile***fProfResZvsDipclu! TProfile of Z Residuals vs. impact dip Angle (of the track w.r.t. module) for different clu. type

Class Charts

Inheritance Chart:
TObject
AliPlaneEff
AliITSPlaneEff
AliITSPlaneEffSPD

Function documentation

AliITSPlaneEffSPD()
~AliITSPlaneEffSPD()
 destructor
 Inputs:
    none.
 Outputs:
    none.
 Return:
     none.
AliITSPlaneEffSPD(const AliITSPlaneEffSPD& source)
fHis(s.fHis),
     Copy Constructor
 Inputs:
    AliITSPlaneEffSPD &s The original class for which
                                this class is a copy of
 Outputs:
    none.
 Return:
AliITSPlaneEffSPD& operator+=(const AliITSPlaneEffSPD& add)
    Add-to-me operator
 Inputs:
    const AliITSPlaneEffSPD &add  simulation class to be added
 Outputs:
    none.
 Return:
    none
AliITSPlaneEffSPD& operator=(const AliITSPlaneEffSPD& s)
    Assignment operator
 Inputs:
    AliITSPlaneEffSPD &s The original class for which
                                this class is a copy of
 Outputs:
    none.
 Return:
void Copy(TObject& obj) const
 protected method. copy this to obj
void CopyHistos(AliITSPlaneEffSPD& target) const
 protected method: copy histos from this to target
Int_t GetMissingTracksForGivenEff(Double_t eff, Double_t RelErr, UInt_t im, UInt_t ic) const
   Estimate the number of tracks still to be collected to attain a
   given efficiency eff, with relative error RelErr
   Inputs:
         eff    -> Expected efficiency (e.g. those from actual estimate)
         RelErr -> tollerance [0,1]
         im     -> module number [0,239]
         ic     -> chip number [0,4]
   Outputs: none
   Return: the estimated n. of tracks

Double_t PlaneEff(const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
 Compute the efficiency for a basic block,
 Inputs:
        im     -> module number [0,239]
        ic     -> chip number [0,4]
        fo     -> boolean, true in case of Fast Or studies
        bcm4   -> for Fast Or: bunch crossing % 4
Double_t ErrPlaneEff(const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
 Compute the statistical error on efficiency for a basic block,
 using binomial statistics
 Inputs:
        im     -> module number [0,239]
        ic     -> chip number [0,4]
        fo     -> boolean, true in case of Fast Or studies
        bcm4   -> for Fast Or: bunch crossing % 4
Bool_t UpDatePlaneEff(const Bool_t Kfound, const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0)
 Update efficiency for a basic block
{AliError("UpDatePlaneEff: you asked for a non existing chip"); return kFALSE;}
UInt_t GetChipFromCol(const UInt_t col) const
 get chip given the column
UInt_t GetKey(const UInt_t mod, const UInt_t chip, const Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
 get key given a basic block
UInt_t SwitchChipKeyNumbering(UInt_t key) const
UInt_t GetModFromKey(const UInt_t key) const
 get mod. from key
UInt_t GetChipFromKey(const UInt_t key) const
 retrieves chip from key
UInt_t GetBCm4FromKey(const UInt_t key) const
 retrieves the "Bunch Crossing modulo 4" (for Fast Or studies)
Bool_t IsForFO(const UInt_t key) const
void GetModAndChipFromKey(const UInt_t key, UInt_t& mod, UInt_t& chip) const
 get module and chip from a key
Double_t LivePlaneEff(UInt_t key) const
 returns plane efficieny after adding the fraction of sensor which is bad
Double_t ErrLivePlaneEff(UInt_t key) const
 returns error on live plane efficiency
Double_t GetFracLive(const UInt_t key) const
 returns the fraction of the sensor which is OK
void GetDeadAndNoisyInChip(const UInt_t key, UInt_t& dead, UInt_t& noisy) const
 returns the number of dead and noisy pixels
Double_t GetFracBad(const UInt_t key) const
 returns 1-fractional live
Bool_t WriteIntoCDB() const
 write onto CDB
Bool_t ReadFromCDB()
 read from CDB
Bool_t AddFromCDB(AliCDBId* cdbId)
UInt_t GetKeyFromDetLocCoord(Int_t ilay, Int_t idet, Float_t , Float_t locz) const
 method to locate a basic block from Detector Local coordinate (to be used in tracking)
UInt_t GetColFromLocZ(Float_t zloc) const
 method to retrieve column number from the local z coordinate
Bool_t GetBlockBoundaries(const UInt_t key, Float_t& xmn, Float_t& xmx, Float_t& zmn, Float_t& zmx) const
  This method return the geometrical boundaries of the active volume of a given
  basic block, in the detector reference system.
  Input: unique key to locate a basic block.

  Output: Ymin, Ymax, Zmin, Zmax of a basic block (chip for SPD)
  Return: kTRUE if computation was succesfully, kFALSE otherwise

{AliDebug(1,"GetBlockBoundaries: you asked for a non existing key"); return kFALSE;}
Float_t GetLocXFromRow(const UInt_t row) const
  This method return the local (i.e. detector reference system) lower x coordinate
  of the row. To get the central value of a given row, you can do
  1/2*[LocXFromRow(row)+LocXFromRow(row+1)].

  Input: row number in the range [0,kNRow]
  Output: lower local X coordinate of this row.

Float_t GetLocZFromCol(const UInt_t col) const
  This method return the local (i.e. detector reference system) lower Z coordinate
  of the column. To get the central value of a given column, you can do
  1/2*[LocZFromCol(col)+LocZFromCol(col+1)].

  Input: col number in the range [0,kNChip*kNCol]
  Output: lower local Y coordinate of this row.

void InitHistos()
 for the moment let's create the histograms
 module by  module
void DeleteHistos()
Bool_t FillHistos(UInt_t key, Bool_t found, Float_t* track, Float_t* cluster, Int_t* ctype, Float_t* angtrkmod)
 depending on the value of key this method
 either call the standard one for clusters
 or the one for FO studies
 if key <  1200 --> call FillHistosST
 if key >= 1200 --> call FillHistosFO
{AliError("GetChipFromKey: you asked for a non existing key"); return kFALSE;}
Bool_t FillHistosFO(UInt_t key, Bool_t found, Float_t* track)
 this method fill the histograms for FastOr studies
 input: - key: unique key of the basic block
        - found: Boolean to asses whether a FastOr bit has been associated to the track or not
        - tr[0],tr[1] local X and Z coordinates of the track prediction, respectively
        - tr[2],tr[3] error on local X and Z coordinates of the track prediction, respectively
 output: kTRUE if filling was succesfull kFALSE otherwise
 side effects: updating of the histograms.
Bool_t FillHistosStd(UInt_t key, Bool_t found, Float_t* track, Float_t* cluster, Int_t* ctype, Float_t* angtrkmod)
 this method fill the histograms
 input: - key: unique key of the basic block
        - found: Boolean to asses whether a cluster has been associated to the track or not
        - tr[0],tr[1] local X and Z coordinates of the track prediction, respectively
        - tr[2],tr[3] error on local X and Z coordinates of the track prediction, respectively
        - clu[0],clu[1] local X and Z coordinates of the cluster associated to the track, respectively
        - clu[2],clu[3] error on local X and Z coordinates of the cluster associated to the track, respectively
        - csize[0][1] cluster size in X and Z, respectively
        - angtrkmod[0],angtrkmod[1]
 output: kTRUE if filling was succesfull kFALSE otherwise
 side effects: updating of the histograms.

Bool_t WriteHistosToFile(TString filename = "PlaneEffSPDHistos.root", Option_t* option = "RECREATE")
 Saves the histograms into a tree and saves the trees into a file

Bool_t ReadHistosFromFile(TString filename = "PlaneEffSPDHistos.root")
 Read histograms from an already existing file

UInt_t Nblock() const
{return kNModule*kNChip;}
Int_t GetFound(const UInt_t key) const
Int_t GetTried(const UInt_t key) const
Double_t PlaneEff(const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
 Getters for average Plane efficiency (including dead/noisy)
Double_t ErrPlaneEff(const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0) const
Bool_t UpDatePlaneEff(const Bool_t Kfound, const UInt_t mod, const UInt_t chip, Bool_t FO = kFALSE, const UInt_t BCm4 = 0)
 Methods to update the Plane efficiency (specific of the SPD segmentation)
Double_t LivePlaneEff(UInt_t key) const
Double_t ErrLivePlaneEff(UInt_t key) const
Bool_t AddFromCDB(AliCDBId* cdbId)
void SetCreateHistos(Bool_t his = kFALSE)
 Methods for dealing with auxiliary histograms
 method to set on/off the creation/updates of histograms (Histos are created/destroyed)