class HPidSingleLeptonEff: public HReconstructor

Function Members (Methods)

public:
HPidSingleLeptonEff()
HPidSingleLeptonEff(const Char_t* file)
HPidSingleLeptonEff(const Text_t* name, const Text_t* title, const Char_t* file)
virtual~HPidSingleLeptonEff()
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_treinit()
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()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHTask::setManual()
voidsetMaxNParticle(Int_t n)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
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:
voidbookNTuple()
Float_tcalcOpeningAngleKine(HGeantKine* kine1, HGeantKine* kine2)
voidcalculateTrackProperties(HPairSim* pair, Float_t& th, Float_t& ph, Float_t& p, Int_t whichParticle)
voidcheckEff(HGeantKine* kine1)
Int_tcheckSingleTrack(HPidParticleSim* part, Int_t lepTrackNb, Bool_t& isHiddenLepton)
Int_tcheckTrackId(HPairSim* p, Int_t lepTrackNb, Int_t& whichPart, Bool_t& isHiddenLepton)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tisGeantTrackInAcceptance(HGeantKine* pG)
voidTObject::MakeZombie()
voidremovecloseTracks(Int_t* p)
Float_ttransformPhi(Float_t Phi)

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:
TNtuple*acceEle
TNtuple*accePos
TNtuple*effEle
TNtuple*effPos
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
Int_tmaxNParticle
TFile*out
HTask*HTask::owner
HEventHeader*pEvtHeader
HCategory*pGeantCatcategory of HGeantKine
HCategory*pPairCatcategory of HPairSim
HCategory*pPartCatcategory of HPidParticle
HIterator*pitGeantiterator on catGeantKine
HIterator*pitGeant1iterator on catGeantKine
HIterator*pitPairCatiterator on the pInputCat category
HIterator*pitPartCatiterator on the pInputCat category
TNtuple*simYieldEle
TNtuple*simYieldPos

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HPidSingleLeptonEff(const Char_t* file)
~HPidSingleLeptonEff()
HPidSingleLeptonEff(const Text_t* name, const Text_t* title, const Char_t* file)
void bookNTuple()
Bool_t init(void)
Int_t execute(void)
 All the lepton pairs contained in the GeantKine container are formed
 The yield is stored in a ntuple (simYieldN) as a function of the pair mass
 rapidity and transverse momentum. Moreover the lepton pairs in the acceptance
 are stored in a ntuple (accept).
 The HPidDilepton class contains all the pairs that have been reconstructed.
 For each of the GeantKine pair in the acceptance we checked if this pair
 has been properly
 recontructed and is contained in the HPidDilepton Container.
 For the first correctly recontructed pair a second ntuple (eff) will
 be filled with weight 1, for each additional reconstructed pair
 that dont correpond to any Geant pair, a third ntuple (fake) will be filled
 with weight 1.
 All these informations will be stored in Ntuples  to allow
 later on the user to create of efficiency matrixes with different bining.
void removecloseTracks(Int_t* p)
 all the tracks coming fomr the white generator that
 has a neighbour also coming from the white generator
 that is closer than 9 deg are tagged if they
 are inside the same sector
Float_t calcOpeningAngleKine(HGeantKine* kine1, HGeantKine* kine2)
input 2 kine objects
output opening angle of trajectories
void checkEff(HGeantKine* kine1)
 checks
 1. if GEANT track is in acceptance ==> fills the acceptance ntuple.
 2. loops over HPairSim category and counts number of reconstructed pairs
    which found the fully correlated track in a pair containing hadron or leptons.
    checks the direct cut flag for the pair.
 3. loops again over HPairSim and tries to find the searched track in a pair
 4. if track has not been found in a pair we do loop over HPidParticle category
    and try to find the corresponding single track.
 5. lepton ntuple are filled in case 3 and 4.
Int_t checkSingleTrack(HPidParticleSim* part, Int_t lepTrackNb, Bool_t& isHiddenLepton)
 Checks if the track euqal to the GEANT track, is primary, has lepton PID
 and PID == GEANT PID. Return the most common detector correlation if successfull
 or 0 if not. If the most common correlation misses the META ( < 76) and the
 track was going to system 0 (SHOWER), we try to find if the lepton track
 was hidden by a secondary. If so, the in commonCorrelation the META bit is set
 and the isHiddenLepton flag becomes true.
Int_t checkTrackId(HPairSim* p, Int_t lepTrackNb, Int_t& whichPart, Bool_t& isHiddenLepton)
 check if the searched track is contained in the pair
 allow pairs with geant hadrons or geant secondary leptons
 pairs with embedded leptons are rejected. Checks the
 reconstructed PID for leptons and check reconstructed PID == GEANT PID
 Int_t whichPart will be -1 if no track was accepted and 1
 or 2 if particle 1 or 2 of the pair was accepted.
void calculateTrackProperties(HPairSim* pair, Float_t& th, Float_t& ph, Float_t& p, Int_t whichParticle)
 calculates the pair theta, phi (in deg!!!)
 Close pair candidates the angles to the closest
 neighbours are stored separately
isGeantTrackInAcceptance(HGeantKine* pG)
 checks if thw Gent track is inside the Hades acceptance.
 The acceptance is defined by a hit in the 4 MDCs and TOF
 or SHOWER. Since Drift chambers can be taken out of the
 HGeant geometry, for the outer drift chambers a hit in
 MDC3 or MDC4 is required.
Bool_t finalize()
Float_t transformPhi(Float_t Phi)
HPidSingleLeptonEff(const Char_t* file)
void setMaxNParticle(Int_t n)
{ maxNParticle = n;}
Bool_t reinit(void)
{ return kTRUE; }

Last change: Sat May 22 13:07:26 2010
Last generated: 2010-05-22 13:07

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.