class HTofDigitizer: public HReconstructor

_HADES_CLASS_DESCRIPTION


  HTofDigitizer digitizes data, puts output values into
  raw data category. The input data are read from the HGeantTof
  category. After calculating TOF of and Charge etc the output
  is stored in the HTofRawSim category.



HGeantTof

|

HTofUnpacker     |         |  HTofDigitizer
(embedding mode)   |      -- |
|                      |     /   ------------------
----------------------     /             |
|              /       ----------------
-------------      /       |  HTofRawSimTmp |
| HTofRawSim  |----         | non persistent | (embedding mode,
-------------               ----------------   sim data)
sim (sim mode)      \              /
or real (embedding)  \            /

HTofHitFSim

       |
  ----------------
  | HTofHitSimTmp  | (embedding mode
   | non persistent |  sim data )
     ----------------



| HTofHitSim  | sim (sim mode) or
-------------  sim and real data
(embedding)



  In the case of TRACK EMBEDDING of simulated tracks into
  experimental data the real data are written by the HTofUnpacker into
  HTofRawSim category. In embedding mode the digitizer will write his
  output to HTofRawSimTmp to merge real and sim data on hit level
  (keep calibrations constistent).
  The embedding mode is recognized automatically by analyzing the
  gHades->getEmbeddingMode() flag.
            Mode ==0 means no embedding
                 ==1 realistic embedding (first real or sim hit makes the game)
                 ==2 keep GEANT tracks   (as 1, but GEANT track numbers will always
                     win against real data. besides the tracknumber the output will
                     be the same as in 1)

 In HTofRawSim the track number which created the left/right hit will be
 stored. For real data the number will be equal to gHades->getEmbeddingRealTrackId().
 For the suppression of secondaries produced in the TOF itself there are
 several configuration possibilities:
 They can be switched via setStoreFirstTrack(Int_t flag):
     flag ==  0 realistic (secondaries included)
              1 primary particle is stored
              2 (default) the first track number entering the tof in SAME SECTOR is stored
              3 as 2 but condition on SAME SECTOR && MOD
              4 as 2 but SAME SECTOR && MOD && ROD

 To make the influence of the above selections easily visible
 in the output HTofRawSim a debug mode can be switched with
 void   setDebug(Bool_t flag). In this case the track numbers
 affected by the criteria 1-4 will have negative track numbers
 (multiples of -200). The multiplication factor gives the number
 of steps from the start point to the stored track (chain of
 secondaries). In case 1 it is always -200 if a particle has not
 been a primary one. With void setOutputFile(TString outname)
 an internal Ntuple can be written out with HGeantTof infos
 of the original hit and the changed one.

 For comparison of the new digitizer (after implemantation of
 embedding) and old digitizer (stored 2 fastest tracks instead
 of left/right track) the old execute function can be
 run by using void   setUseOld(Bool_t flag).

 The pointer to the TofDigitizer can be retrieved via
 static HTofDigitizer* getTofDigtizer(). This function
 returns NULL if the Digitizer has not been created yet!


Function Members (Methods)

public:
HTofDigitizer()
HTofDigitizer(const Text_t* name, const Text_t* title)
virtual~HTofDigitizer()
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)
Int_texecuteOld()
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
static HTofDigitizer*getTofDigtizer()
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()
Bool_tinitParContainer()
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 flag)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetOutputFile(TString outname = "")
virtual voidHTask::setOwner(HTask* atask)
voidsetStoreFirstTrack(Int_t flag)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidsetUseOld(Bool_t flag)
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
voidTObject::MakeZombie()
private:
voiddoFinalCheckOnArray()
voidfillArray()
voidfillNtuple(HGeantTof* pOld, HGeantTof* pNew, Int_t count)
voidfillOutput()
Int_tfindFirstHitInTof(HGeantTof* pOld, HGeantTof** pNew, Int_t* count)

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:
Bool_tHReconstructor::fActiveActive flag
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
Bool_tHTask::fIsTimedtimer flag
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tHTask::manual
HTask*HTask::owner
private:
Bool_tdebug! change stored tracknumbers (when storeFirstTrack!=0)
HTofDigiPar*fDigiPar! Digitization parameters
HCategory*fGeantCat! Pointer to Geant data category
HLinearCategory*fGeantKineCat! Pointer to GeantKine data category
HLocationfLoc! Location for new object
HCategory*fRawCat! Pointer to raw data category
HCategory*fRawCatTmp! Pointer to tmp raw data category
HIterator*iterGeant! Iterator over GeantCell category
HIterator*iterTofRaw! Iterator over HTofRawSim category
HIterator*iterTofRawTmp! Iterator over tmp HTofRawSim category
TNtuple*out! ntuple pointer
TFile*outFile! output file pointer
static HTofDigitizer*pTofDigi! pointer to this
Int_tstoreFirstTrack! flag:
Bool_tuseOld! flag: kTRUE:use old execute function (before embedding)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Bool_t initParContainer()
HTofDigitizer(void)
HTofDigitizer(const Text_t* name, const Text_t* title)
~HTofDigitizer(void)
Bool_t init(void)
Int_t executeOld(void)
Int_t execute(void)
void fillArray()
 loop over geant category and fill catTofRawTmp
 the relsults will be copied later to the final output catTofRaw
void doFinalCheckOnArray()
 Exclusion of hits with charge less than ADC threshold.
 Time of hits with charge less than CFD threshold is set
 to zero. These hits are excluded later in the hitfinder.
void fillOutput()
 Now copy tmp object to final output
Bool_t finalize()
Int_t findFirstHitInTof(HGeantTof* pOld, HGeantTof** pNew, Int_t* count)
 find the first track ID entering the TOF
 Used to suppress the secondaries created in the
 TOF itself.
        0 (default) = realistic (secondaries included)
        1 primary particle is stored
        2 the first track number entering the tof in SAME SECTOR is stored
        3 as 2 but condition on SAME SECTOR && MOD
        4 as 2 but SAME SECTOR && MOD && ROD
void setOutputFile(TString outname = "")
 set ouput file for internal Ntuple. Create
 Ntuple inside output.
void fillNtuple(HGeantTof* pOld, HGeantTof* pNew, Int_t count)
 old GEANT TOF hit
HTofDigitizer* getTofDigtizer()
{return pTofDigi;}
void setStoreFirstTrack(Int_t flag)
{storeFirstTrack=flag;}
void setDebug(Bool_t flag)
{debug=flag;}
void setUseOld(Bool_t flag)
{useOld=flag;}

Last change: Sat May 22 13:16:07 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.