ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » (UNKNOWN) » HParticleBtRingF

class HParticleBtRingF: public TObject

_HADES_CLASS_DESCRIPTION


  HParticleBtRingF

  This class predicts fired pads based on theta and phi angle of a track.
  Predicted pads and rich cal hits are stored and used to search for
  fired pads matching to prediction area.





Function Members (Methods)

public:
HParticleBtRingF()
HParticleBtRingF(const HParticleBtRingF&)
virtual~HParticleBtRingF()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
voidclearData()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) 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 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
voidfillPrediction(const HParticleCand* cand, HVertex& vertex, Bool_t isGoodTrack, const Bool_t doAngleCorr)
voidfillRichCal(HCategory* catRichCal)
Bool_tfillRingInfo(HParticleBtRingInfo* btRingInfo)
Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Float_tgetPosXCenter(Int_t trackNo)
Float_tgetPosYCenter(Int_t trackNo)
vector<vector<Int_t> >&getPrediction()
vector<Int_t>&getRichHitAdd()
vector<Float_t>&getRichHitCharge()
Float_tgetRingMatrix(const Int_t trackNo)
virtual const char*TObject::GetTitle() const
Float_tgetTrackPhi(Int_t trackNo)
Int_tgetTrackSec(Int_t trackNo)
Float_tgetTrackTheta(Int_t trackNo)
Int_tgetTrackVertex(Int_t trackNo)
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_thasNoisyRichSeg(Bool_t* trackInSec)
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
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_tTObject::IsFolder() const
Bool_tisGoodTrack(Int_t trackNo)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
HParticleBtRingF&operator=(const HParticleBtRingF&)
virtual voidTObject::Paint(Option_t* option = "")
Int_tplotPrediction(Int_t trackNo)
voidplotRichHit(Int_t trackNo)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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:
voidaddressToColRow(const Int_t address, Int_t& sec, Int_t& row, Int_t& col)
Int_tcorrectPhi(const Int_t sec, const Float_t phi)
voidfillMatrix(Int_t xPad, Int_t yPad, Int_t sec)
Int_tgetVertexNum(const Float_t vertex)
voidsortElements(Double_t& entry1, Double_t& entry2)

Data Members

protected:
HParticleAngleCorfAngleCor
HParticleBtPar*fBtPar
Float_tfChargeLimit[6]
Float_tfChargeLimitMaximum[6]
vector<vector<Int_t> >fFiredPads
vector<Bool_t>fIsGoodTrack
Int_tfMaxSigmaRange
Float_tfMinimumSigmaValue
Int_tfNParMean
Int_tfNParSigma
Int_tfNRichSeg
Int_tfNRingSeg
Int_tfNRingSegOffset
Int_tfNRingSegStep
Int_tfNSector
Int_tfNSigma
Int_tfNVertex
Float_tfParThetaAngleMax
Float_tfParThetaAngleMin
Float_tfPhiOff[6]
Float_tfPhiOff2[6]
Int_tfPhiOffsetPar
vector<vector<TF2*> >fPol2DMean
vector<vector<TF2*> >fPol2DSigma
vector<Float_t>fPosXCenter
vector<Float_t>fPosYCenter
vector<vector<Int_t> >fPrediction
vector<Float_t>fRad2Deg
vector<Float_t>fRad2DegX
vector<Float_t>fRad2DegY
vector<Int_t>fRichHitAdd
vector<Float_t>fRichHitCharge
Int_tfRichSegBorderX
Int_tfRichSegBorderY
vector<vector<Int_t> >fRingMatrix
Float_tfSigmaErrorPad
Int_tfSizeMatrix
Float_tfThetaAngleMax
Float_tfThetaAngleMin
vector<Int_t>fTrackPCandIdx
vector<Float_t>fTrackPhi
vector<Int_t>fTrackSec
vector<Float_t>fTrackTheta
vector<Int_t>fTrackVertex
Float_tfVertexPosMax
Float_tfVertexPosMin
Float_tfVertexStep

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HParticleBtRingF()
~HParticleBtRingF()
Bool_t init()
void addressToColRow(const Int_t address, Int_t& sec, Int_t& row, Int_t& col)
Converts richCal address to sector, column and row numbers
Int_t correctPhi(const Int_t sec, const Float_t phi)
Correct phi angle if phi angle disagrees with sector number
Agreement is necessary for transformations from angle to RICH pad plane
void sortElements(Double_t& entry1, Double_t& entry2)
Sorts 2 Double_t values by size (ascending)
Int_t getVertexNum(const Float_t vertex)
Returns vertex number to given z-vertex position
void fillRichCal(HCategory* catRichCal)
Fills rich cal hit addresses and charges into vectors
Bad hits and hits from bad events are exluded
void clearData()
Empties rich and track vectors
void fillMatrix(Int_t xPad, Int_t yPad, Int_t sec)
Marks area around ring center
Address are stored in ringMatrix vector
void fillPrediction(const HParticleCand* cand, HVertex& vertex, Bool_t isGoodTrack, const Bool_t doAngleCorr)
Theta and phi angles and vertex position is used to determine track position on pad plane
Information about optical ring distortion is used to predict fired pads in defined sigma area
Mean values with neighbouring sectors assure a more smooth ring prediction
Predicted pads are stored in prediction vector
Float_t getRingMatrix(const Int_t trackNo)
Returns fraction of  pads fired on ring prediction compared to pads fired in ring matrix around ring center
Float_t getTrackTheta(Int_t trackNo)
Returns theta angle for given trackNo
Float_t getTrackPhi(Int_t trackNo)
Returns phi angle for given trackNo
Int_t getTrackVertex(Int_t trackNo)
Returns vertex number for given trackNo
Int_t getTrackSec(Int_t trackNo)
Returns sector for given trackNo
Float_t getPosXCenter(Int_t trackNo)
Returns phi angle for given trackNo
Float_t getPosYCenter(Int_t trackNo)
Returns phi angle for given trackNo
Bool_t isGoodTrack(Int_t trackNo)
Returns sector for given trackNo
Bool_t fillRingInfo(HParticleBtRingInfo* btRingInfo)
Stores ring,track and rich information in arrays
Arrays are stored in HParticleBtRingFInfo for output
Int_t plotPrediction(Int_t trackNo)
void plotRichHit(Int_t trackNo)
Bool_t hasNoisyRichSeg(Bool_t* trackInSec)
HParticleBtRingF(const HParticleBtRingF& )
Bool_t finalize(void)
{ return kTRUE; }
vector < vector<Int_t> >& getPrediction(void)
{ return fPrediction;}
vector <Int_t>& getRichHitAdd(void)
{ return fRichHitAdd; }
vector <Float_t>& getRichHitCharge(void)
{ return fRichHitCharge; }