ROOT logo
AliRoot » ANALYSIS » TENDERSUPPLIES » AliTOFTenderSupply

class AliTOFTenderSupply: public AliTenderSupply


 TOF tender: for a description of what this tender does see
             https://twiki.cern.ch/twiki/bin/viewauth/ALICE/TOF
             It has to be used on LHC2010 data (and old MC productions)

Contacts: Pietro.Antonioli@bo.infn.it
Francesco.Noferini@bo.infn.it

Function Members (Methods)

public:
AliTOFTenderSupply()
AliTOFTenderSupply(const char* name, const AliTender* tender = NULL)
virtual~AliTOFTenderSupply()
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 voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
voidCorrectDeltaTimes(Double_t pT, Double_t length, Bool_t isTRDout, Double_t* corrections)
Double_tCorrectExpectedKaonTime(Double_t pT, Double_t length, Bool_t isTRDout)
Double_tCorrectExpectedPionTime(Double_t pT, Double_t length, Bool_t isTRDout)
Double_tCorrectExpectedProtonTime(Double_t pT, Double_t length, Bool_t isTRDout)
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDetectRecoPass()
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
Double_tEstimateLengthInTRD1(AliESDtrack* track)
Double_tEstimateLengthInTRD2(AliESDtrack* track)
Double_tEstimateLengthOutTRD(AliESDtrack* track)
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFindTRDFix(AliESDtrack* track, Double_t* corr)
voidFixTRDBug(AliESDEvent* event)
voidFixTRDBug(AliESDtrack* track)
static Float_tGetBetaTh(Float_t m, Float_t p)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
static Float_tGetExpTimeTh(Float_t m, Float_t p, Float_t L)
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Int_tGetOCDBVersion(Int_t runNumber)
virtual Option_t*TObject::GetOption() const
Int_tGetRecoPass()
virtual const char*TNamed::GetTitle() const
voidGetTrackletsForT0(AliESDEvent* event, Double_t* trkA, Double_t* trkC) const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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 voidInit()
voidInitGeom()
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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
voidLoadTOFPIDParams(Int_t runNumber)
virtual voidTNamed::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 voidTNamed::Print(Option_t* option = "") const
virtual voidProcessEvent()
virtual Int_tTObject::Read(const char* name)
voidRecomputeTExp(AliESDEvent* event) const
voidRecomputeTExp(AliESDtrack* track) const
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
Double_tSampleT0Signal(Int_t side, Double_t zvertex, Double_t tracklets) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetAutomaticSettings(Bool_t flag = kTRUE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCorrectExpTimes(Bool_t flag = kTRUE)
voidSetDebugLevel(Int_t flag = 0)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetForceCorrectTRDBug(Bool_t flag = kTRUE)
voidSetIsMC(Bool_t flag = kFALSE)
voidSetLHC10dPatch(Bool_t flag = kFALSE)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetT0DetectorAdjust(Bool_t flag = kFALSE)
voidAliTenderSupply::SetTender(const AliTender* tender)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUserRecoPass(Int_t flag = 0)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() 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()
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:
TStringTNamed::fNameobject identifier
const AliTender*AliTenderSupply::fTenderTender car
TStringTNamed::fTitleobject title
private:
Bool_tfAutomaticSettingsenable/disable automatic (per run) settings
ULong64_tfCDBkey
Bool_tfCorrectExpTimesflag to apply Expected Time correction
Bool_tfCorrectTRDBugflag to fix wrong dE/dx inside TRD
Int_tfDebugLeveldebug purposes 0= no output, 1 Info, 2 lot of info....
AliESDpid*fESDpid! ESD pid object
Bool_tfForceCorrectTRDBugforce TRD bug correction (for some bad MC production...)
Bool_tfGeomSetsteer loading GRP entry
Bool_tfInTRD
Bool_tfIsComingOutTRD
Bool_tfIsEnteringInTRD
Bool_tfIsMCflag for MC data: adds start Time
Bool_tfLHC10dPatchflag to apply special patch for LHC10d (reconstructed with wrong geometry)
Double_tfMagFieldmagnetic field value [kGauss]
Bool_tfOutTRD
Int_tfRecoPassreconstruction pass: the tender applies different recipes depending on the pass
Float_tfRhoTRDincm
Float_tfRhoTRDoutcm
Float_tfStepcm
Bool_tfT0DetectorAdjustDATA: flag to apply offsets to T0 data (LHC10b, c, d, e)
Float_tfT0IntercalibrationShiftextra-shift to adjust TOF/TO intercalibration issue in some period
Bool_tfT0Simulateignore existing T0 data (if any) and simulate them
Float_tfT0shift[4]T0 detector correction from OCDB
AliTOFcalib*fTOFCalibrecalibrate TOF signal with OCDB
AliTOFPIDParams*fTOFPIDParams! TOF PID Params - period depending (OADB loaded)
AliTOFT0maker*fTOFT0makercomputation of TOF-T0
Bool_tfTenderNoActionflag for periods when tender action is not requested/not supported
Int_tfUserRecoPasswhen reco pass is selected by user
static Float_tfgT0AresolutionT0 resolution A-Side (MC)
static Float_tfgT0CresolutionT0 resolution C-Side (MC)

Class Charts

Inheritance Chart:
TNamed
AliTenderSupply
AliTOFTenderSupply

Function documentation

AliTOFTenderSupply()
 default ctor

AliTOFTenderSupply(const char* name, const AliTender* tender = NULL)
 named ctor

void Init()
void ProcessEvent()
 Use updated calibrations for TOF and T0, reapply PID information
 For MC: timeZero sampling and additional smearing for T0
void RecomputeTExp(AliESDEvent* event) const
   * calibrate TExp

void RecomputeTExp(AliESDtrack* track) const
       THIS METHOD IS BASED ON THEORETICAL EXPECTED TIME COMPUTED
       USING AVERAGE MOMENTUM BETWEEN INNER/OUTER TRACK PARAMS
       IT IS A ROUGH APPROXIMATION APPLIED TO FIX LHC10d-pass2 DATA
       WHERE A WRONG GEOMETRY (FULL TRD) WAS INSERTED

void DetectRecoPass()
 Detect reconstruction information

void InitGeom()
void FixTRDBug(AliESDEvent* event)
 recompute texp fixing wrong dE/dx from TRD (LHC10b,c pass3)

void FixTRDBug(AliESDtrack* track)


void FindTRDFix(AliESDtrack* track, Double_t* corr)
void CorrectDeltaTimes(Double_t pT, Double_t length, Bool_t isTRDout, Double_t* corrections)
Double_t CorrectExpectedPionTime(Double_t pT, Double_t length, Bool_t isTRDout)
 correction for expected time for pions
Double_t CorrectExpectedKaonTime(Double_t pT, Double_t length, Bool_t isTRDout)
 correction for expected time for kaons
Double_t CorrectExpectedProtonTime(Double_t pT, Double_t length, Bool_t isTRDout)
 correction for expected time for protons
Double_t EstimateLengthInTRD1(AliESDtrack* track)
Double_t EstimateLengthInTRD2(AliESDtrack* track)
Double_t EstimateLengthOutTRD(AliESDtrack* track)
Int_t GetOCDBVersion(Int_t runNumber)
void LoadTOFPIDParams(Int_t runNumber)
 Load the TOF pid params from the OADB

Double_t SampleT0Signal(Int_t side, Double_t zvertex, Double_t tracklets) const
void GetTrackletsForT0(AliESDEvent* event, Double_t* trkA, Double_t* trkC) const
AliTOFTenderSupply()
virtual ~AliTOFTenderSupply()
{;}
void SetIsMC(Bool_t flag = kFALSE)
 TOF tender methods
{fIsMC=flag;}
void SetCorrectExpTimes(Bool_t flag = kTRUE)
void SetT0DetectorAdjust(Bool_t flag = kFALSE)
void SetDebugLevel(Int_t flag = 0)
{fDebugLevel=flag;}
void SetLHC10dPatch(Bool_t flag = kFALSE)
void SetAutomaticSettings(Bool_t flag = kTRUE)
void SetForceCorrectTRDBug(Bool_t flag = kTRUE)
void SetUserRecoPass(Int_t flag = 0)
Int_t GetRecoPass(void)
{return fRecoPass;}
Float_t GetBetaTh(Float_t m, Float_t p)
theoretical expected time: related stuff for LHC10d patch
{return TMath::Sqrt(1. / (1. + m * m / (p * p)));}
Float_t GetExpTimeTh(Float_t m, Float_t p, Float_t L)
{return L / 2.99792457999999984e-02 / GetBetaTh(m, p);}
AliTOFTenderSupply& operator=(const AliTOFTenderSupply& c)