_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!
HTofDigitizer() | |
HTofDigitizer(const Text_t* name, const Text_t* title) | |
virtual | ~HTofDigitizer() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | HReconstructor::Browse(TBrowser* b) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual Bool_t | HReconstructor::connectTask(HTask* task, Int_t n = 0) |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual Int_t | execute() |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
Int_t | executeOld() |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
virtual Bool_t | finalize() |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual HTask* | HReconstructor::getComposite() |
virtual void | HReconstructor::getConnections() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::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_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual HTask* | HTask::getOwner() |
TObjArray | HReconstructor::getTable() |
virtual HTask* | HReconstructor::getTask(const Char_t* name) |
virtual const char* | TNamed::GetTitle() const |
static HTofDigitizer* | getTofDigtizer() |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual Bool_t | init() |
Bool_t | initParContainer() |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | HReconstructor::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
virtual void | HReconstructor::isTimed(Bool_t flag = kTRUE) |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual HTask* | HReconstructor::next(Int_t& errCode) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual void | HReconstructor::printTimer() |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Bool_t | HTask::reinit() |
void | TObject::ResetBit(UInt_t f) |
virtual void | HReconstructor::resetTimer() |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | HReconstructor::setActive(Bool_t state)MENU |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual Bool_t | HTask::setConnections() |
void | setDebug(Bool_t flag) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | HTask::setManual() |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | setOutputFile(TString outname = "") |
virtual void | HTask::setOwner(HTask* atask) |
void | setStoreFirstTrack(Int_t flag) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
void | setUseOld(Bool_t flag) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | TObject::MakeZombie() |
void | doFinalCheckOnArray() |
void | fillArray() |
void | fillNtuple(HGeantTof* pOld, HGeantTof* pNew, Int_t count) |
void | fillOutput() |
Int_t | findFirstHitInTof(HGeantTof* pOld, HGeantTof** pNew, Int_t* count) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
Bool_t | HReconstructor::fActive | Active flag |
TList* | HReconstructor::fHistograms | List of histograms generated by this reconstructor. |
Bool_t | HTask::fIsTimed | timer flag |
TString | TNamed::fName | object identifier |
TObjArray | HReconstructor::fOutputs | |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
Bool_t | HTask::manual | |
HTask* | HTask::owner |
Bool_t | debug | ! change stored tracknumbers (when storeFirstTrack!=0) |
HTofDigiPar* | fDigiPar | ! Digitization parameters |
HCategory* | fGeantCat | ! Pointer to Geant data category |
HLinearCategory* | fGeantKineCat | ! Pointer to GeantKine data category |
HLocation | fLoc | ! 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_t | storeFirstTrack | ! flag: |
Bool_t | useOld | ! flag: kTRUE:use old execute function (before embedding) |
loop over geant category and fill catTofRawTmp the relsults will be copied later to the final output catTofRaw
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.
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
set ouput file for internal Ntuple. Create Ntuple inside output.