_HADES_CLASS_DESCRIPTION HMdcTrackingEff This class fills two ntuples for single lepton tracks and pairs to estimate the tracking efficiency in simulation. This tasks needs as input GeantKine, GeantTof, GeantShower ,HMdcTrkCand, HMdcSegSim, HMdcTrkCandIdeal and HMdcSegIdeal categories. The MdcTaskSet and HMdcIdealTracking with setup of paralle output categories has to run in front to fill the categories. In the following the variables of the ntuples are described. SINGLE single[0] =evNr GEANT KINE information single[1] =sector (from inner MdcSegIdeal) single[2] =ptrk (parent Track number) single[3] =genInfo GEANT generator single[4] =genInfo1 GEANT generator single[5] =genInfo2 GEANT generator single[6] =gID GEANT particle ID single[7] =mom GEANT momentum single[8] =vx GEANT vertex single[9] =vy GEANT vertex single[10]=vz GEANT vertex
HMdcTrackingEff() | |
HMdcTrackingEff(const Text_t* name, const Text_t* title) | |
virtual | ~HMdcTrackingEff() |
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) |
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 |
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() |
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() |
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 | setOutputRoot(TString = "ntuple_tracking_eff.root") |
virtual void | HTask::setOwner(HTask* atask) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
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 |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
HLinearCategory* | catlHGeantKine | ! |
HMatrixCategory* | catmHGeantShower | ! |
HMatrixCategory* | catmHGeantTof | ! |
HMatrixCategory* | catmHMdcSegIdeal | ! |
HMatrixCategory* | catmHMdcSegSim | ! |
HMatrixCategory* | catmHMdcTrkCand | ! |
HMatrixCategory* | catmHMdcTrkCandIdeal | ! |
Float_t | dPairs[98] | ! |
Float_t | dSingle[40] | ! |
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 |
TString | fNameRoot | ! file name of root output file |
TObjArray | HReconstructor::fOutputs | |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
Int_t | indSeg[2] | ! |
Int_t | indSegId[2] | ! |
Int_t | indexTable[6000] | ! maxtrks tracks : ind kine, ind seg1_id,ind seg2_id, ind seg1,ind seg2,ind used |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
TIterator* | iterGeantShower | ! |
TIterator* | iterGeantTof | ! |
TIterator* | iterTrkCand | ! |
TIterator* | iterTrkCandIdeal | ! |
Bool_t | HTask::manual | |
static const Int_t | maxTrks | ! |
static const Int_t | nChi2 | |
static const Int_t | nEvnt | number of event indexes stored in data word |
static const Int_t | nKine | number of kine indexes stored in data word |
static const Int_t | nPairs | ! nEvnt + nkine + nSeg + nChi2 + nkine + nSeg + nChi2 + npair |
static const Int_t | nSeg | number of segment indexes stored in data word |
static const Int_t | nSingle | ! nEvnt + nkine + nSeg + nChi2 + nsingle |
static const Int_t | npair | |
static const Int_t | nsingle | |
Int_t | offsetChi2 | ! starting index in data word for chi2 relative to seg |
Int_t | offsetPair | ! starting index in data word for pair infos |
Int_t | offsetSeg1 | ! starting index in data word for seg1 (seg) |
Int_t | offsetSeg1Kine | ! starting index in data word for particle 1 (kine) |
Int_t | offsetSeg2 | ! starting index in data word for seg2 (seg) |
Int_t | offsetSeg2Kine | ! starting index in data word for particle 2 (kine) |
Int_t | offsetSingle | ! starting index in data word for single infos |
TFile* | out | ! file pointer |
HTask* | HTask::owner | |
HMdcSegSim* | pSeg[2] | ! |
HMdcSegSim* | pSegId[2] | ! |
TNtuple* | pairs | |
TNtuple* | single | |
static const Int_t | sizeInd | ! |
Int_t | trkNrId | ! |
Constructor calls the constructor of class HReconstructor with the name and the title as arguments. It also calls the function setParContainers().
Sets rootfile output of HMdcTrackinEf where ntuples were written.
get pointer to segments and index values for TrkCand mode ==0 both segments are done mode ==1 inner segment is done + indseg2=-2
retrieves the Geant ID, parentTrack , generatorInfo, generatorInfo1 and generatorInfo2 for Geant track trkNr
checks if the Geant trkNr of inner and outer segment is the same mode==0 both segments are checked mode==1 inner segment is checked
checks if the Geant trkNr of inner and outer segment is the same if only inner segment is available only this is checked if both segments are there both are checked a loop over all candidates is performed if the match of outer segment in all candidates fails the first object of trkCand is used if no match is found 0 is returned. the indexes of both segments are stored in iSeg. indseg==-1 means the segment has not been found. indseg==-2 says thare have been candidates, but none of them mathed the trk number.
checks if a lepton track comes from the same source
fills the index table for track track_ct the maxium number of tracks is maxTrks. the tracks are stored in format indexTable[track_ct*sizeInd+xi]=varx where xi=0-sizeInd and varx are the values in the following table: indKine, indSeg1_id, indSeg2_id, indSeg1, indSeg2, indUsed 0 1 2 3 4 5 parentTrk, geantInfo, geantInfo1, geantInfo2 6 7 8 9
returns the slot in indexTable which contains a partner track to track i from the same decay (pair) if nothing is found -1 is returned the found tracks are marked in the table as used self combinations are rejected.
indKine, indSeg1_id, indSeg2_id, indSeg1, indSeg2, indUsed 0 1 2 3 4 5 parentTrk, geantInfo, geantInfo1, geantInfo2 6 7 8 9
indKine, indSeg1_id, indSeg2_id, indSeg1, indSeg2, indUsed 0 1 2 3 4 5 parentTrk, geantInfo, geantInfo1, geantInfo2 6 7 8 9
search meta (shower and meta) for the same Geant track in sector sector. return codes: -1 if nothing has been found -2 if showerhit has been found in other sector -3 if tofhit has been found in other sector 0 if hit has been found in shower (system 0) 1 if hit has been found in tof (system 1)
fills vector v with one leg of a pair from slot in indextable with segment information type has to be 0 (segment from ideal tracking) or 1 (segments from reconstruction)
fills vector v with one leg of a pair from slot in indextable with kine information
Convert geant mom to MDC phi/theta angle in degree
Convert MDC phi angle to the lab coordinate system and degree