class HTofRec: public HReconstructor

_HADES_CLASS_DESCRIPTION

 HTofRec
 In case of experiments where there exists no start hit and the TOF of the
 particles has to be recalculated, the tof variable(getTof()) of all classes derived from
 HBaseTrack and HKickTrack will be overwritten by a this class which recalculates the tof.
 To mark those objects as changed one can ask with getFlag(). The result should be
 1 or 2 depending on the method which has been used and 0 if it has not been changed.
 Anyhow the original tof can be retrieved direct from the HTofHit referenced by
 tofindex (getTofHitInd()). The flag itself is decoded in the tofindex, but will be
 hidden from the user by the getTofHitInd() function.

 To setup the constructor  call HTofRec(Text_t *name,Text_t *title, const Char_t *select, const Char_t *track),
 where select contains the key words for configuration (just "," separated list)
    nospline   : switch of spline
    nohires    : switch of high resolution kickplane
    nolowres   : switch of low  resolution kickplane
    nolowresB  : switch of low  resolution kickplaneB
    nork       : switch of Runge Kutta tracking
    norich     : switch of rich mode
    debug      : switch on debug mode
    ntuple     : switch on create,fill and write ntuple for debugging
    chiin      : switch on the chi2>-1 cut for inner MDC segments
    chiout     : switch on the chi2>-1 cut for outer MDC segments
    common     : use spline as reconstructor for all the trackings
    skip       : skip event in DST if start is not reconstructed
    simulation : swith on simulation mode

 if common mode is switched one, "track" is the chosen tracking algorythm for globat tof reconstruction:
    spline     : spline
    lowres     : low resolution kickplaneB
    hires      : high resolution kickplane
    rk         : Runge Kutta tracking

 defaults (empty string) are:
   spline on
   low  resolution kickplane   ON
   low  resolution kickplaneB  ON
   high resolution kickplane   ON
   RungeKutta                  ON
   fRichMode                   ON
   field correction            1.0
   debug mode                  OFF
   ntuple                      OFF
   chi2 inner cut              OFF
   chi2 outer cut              OFF
   simulation mode             OFF
   skip event                  OFF
   common                      OFF

 Usage:

   TofRec *tofrec = new HTofRec("tofreconstructor","tofreconstructor",option,track);
   tofrec->setRichParams(0.674189,2.04904,0.,1.82966,5.);
   tofrec->setQualityRichParams(200.,4.,2.8,5);
   HTaskSet * tofrectask = new HTaskSet("","");
   tofrectask->connect(tofrec);
   masterTaskSet->add(tofrec);



Function Members (Methods)

public:
HTofRec()
HTofRec(const Text_t* name, const Text_t* title, const Char_t* select = "", const Char_t* track = "")
virtual~HTofRec()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::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 Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) 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 Int_texecute()
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 Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
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()
virtual Option_t*TObject::GetOption() const
virtual HTask*HTask::getOwner()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
virtual const char*TNamed::GetTitle() 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 Bool_tinit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
virtual Bool_tTObject::Notify()
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)
HTask&HTask::operator=(const HTask&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_tHTask::reinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual Bool_tHTask::setConnections()
voidsetDebug(Bool_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetFillNTuple(Bool_t fill)
voidsetKickHiSec(Int_t* kick123_sec)
voidsetKickLowSec(Int_t* kick_sec)
voidHTask::setManual()
voidsetMinusMode(Bool_t m)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetOutputDir(const Char_t* fdir)
voidsetOutputFile(const Char_t* ffile)
virtual voidHTask::setOwner(HTask* atask)
voidsetPlusMode(Bool_t p)
voidsetQualityRichParams(Float_t RingPatMat, Float_t RingPadNr, Float_t Centroid, Float_t RingAmplitude)
voidsetRichMode(Bool_t r)
voidsetRichParams(Float_t theta0, Float_t dtheta, Float_t phi0, Float_t dphi, Float_t lambda2)
voidsetRKSec(Int_t* rk_sec)
voidsetSplineField(Float_t* spline_sec)
voidsetSplineSec(Int_t* spline_sec)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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
Bool_tisRichCorr(HMdcSeg* mdc)
voidTObject::MakeZombie()
voidtrack_recalc(Float_t* start, Int_t* rec_ind, Int_t* flag)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tClight speed
TNtuple*after
Bool_tbChiCutInnerChi2> -1 cut for inner MDC segment
Bool_tbChiCutOuterChi2> -1 cut for outer MDC segment
Bool_tbIsFirstIs first event
TNtuple*before
Int_tcommon_flagflag for common reconstruction
Bool_tHReconstructor::fActiveActive flag
Bool_tfDebugModeflag for debug mode
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
Bool_tHTask::fIsTimedtimer flag
HCategory*fKickHiCatKick hires category
Bool_tfKickHiresKickHires mode on
HCategory*fKickLowBCatkick LowresB category
HCategory*fKickLowCatKick lowres category
Bool_tfKickLowresKickLowres mode on (not used)
Bool_tfKickLowresBKickLowresB mode on
HCategory*fMdcSegCatHMdcSeg category
HCategory*fMdcTrkCandCatHMdcTrkCand category
HCategory*fMetaMatchCatMetaMatch category
Bool_tfMinusModeflag for MINUS mode (pi- ID)
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
Bool_tfPlusModeflag for PLUS mode (not used)
Bool_tfRKRungeKutta mode on
HCategory*fRKCatRungeKutta category
HCategory*fRichCatRich category
Bool_tfRichModeflag for RICH mode (lepton ID)
Bool_tfSkipSkip event if start is not reconstructed
Bool_tfSplineSpline mode on
HCategory*fSplineCatSpline category
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
HCategory*fTofCatTof category
HCategory*fTofinoCatTofino category
Bool_tfillNTupleflag to fill debuf ntuples
Bool_tisCommonCommon mode ON (time reconstructed from spline)
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tisSimulationSimulation mode ON
HIterator*iterMetaMatchiterator on HMetaMatch
HIterator*iterRichiterator on HRichHit
Int_tkick123_sec_on[6]Hires kicktrack sectors used for tof reconstruction
Int_tkick_sec_on[6]Lowres kicktrack sectors used for tof reconstruction
Bool_tHTask::manual
Int_tmdc_sec[6]Numbers of MDC modules for each sectors;
HTask*HTask::owner
Float_trich_params[5]Rich correlation parameters (theta0, dtheta, phi0, dphi, lambda2)
Float_trich_qparams[4]Rich quality parameters (RingPatMat, RingPadNr, Centroid, RingAmplitude)
TNtuple*richcorrNtuple for rich correlation
Int_trk_sec_on[6]Runge Kutta kicktrack sectors used for tof reconstruction
TStringsDirNtuple output directory
TStringsFileNtuple output file
Float_tspline_sec_field[6]Spline sectors used for tof reconstruction
Int_tspline_sec_on[6]Spline sectors used for tof reconstruction

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HTofRec()
 Default constructor
HTofRec(const Text_t* name, const Text_t* title, const Char_t* select = "", const Char_t* track = "")
 Constructor
~HTofRec(void)
 Destructor.
Bool_t init(void)
Int_t execute(void)
Bool_t finalize(void)
void track_recalc(Float_t* start, Int_t* rec_ind, Int_t* flag)
 Tof recalculator
 0 - spline
 1 - kickplane lowresB
 2 - kickplane hires
 3 - RungeKutta
Bool_t isRichCorr(HMdcSeg* mdc)
 function which check if a HMdcSeg is correlated to RICH
void setRichMode(Bool_t r)
{fRichMode=r;}
void setMinusMode(Bool_t m)
{fMinusMode=m;}
void setPlusMode(Bool_t p)
{fMinusMode=p;}
void setDebug(Bool_t d)
{fDebugMode=d;}
void setFillNTuple(Bool_t fill)
{fillNTuple=fill;}
void setRichParams(Float_t theta0, Float_t dtheta, Float_t phi0, Float_t dphi, Float_t lambda2)
 Rich algular correlation parameters {theta0, dtheta, phi0, dphi, maximum chi2}
void setQualityRichParams(Float_t RingPatMat, Float_t RingPadNr, Float_t Centroid, Float_t RingAmplitude)
 Rich quality parameters: {RingPatMat,RingPadNr,Centroid,RingAmplitude}
void setSplineSec(Int_t* spline_sec)
 Flag used to switch on/off some sectors for tof reconstruction,
 Default {1,1,1,1,1,1}.
void setSplineField(Float_t* spline_sec)
 Correction multiplier to spline momentum
 Default {1,1,1,1,1,1}.
void setKickHiSec(Int_t* kick123_sec)
 Flag used to switch on/off some sectors for tof reconstruction,
 Default {1,1,1,1,1,1}.
void setKickLowSec(Int_t* kick_sec)
 Flag used to switch on/off some sectors for tof reconstruction,
 Default {1,1,1,1,1,1}.
void setRKSec(Int_t* rk_sec)
 Flag used to switch on/off some sectors for tof reconstruction,
 Default {1,1,1,1,1,1}.
void setOutputDir(const Char_t* fdir)
{sDir = fdir;}
void setOutputFile(const Char_t* ffile)
{sFile = ffile;}

Last change: Sat May 22 13:16:29 2010
Last generated: 2010-05-22 13:16

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.