_HADES_CLASS_DESCRIPTION HParticleBTClusterF This class searches for clusters and calculates its properties. Rich hit and fired pad information is obtained from HParticleBTRing class. If at least 1 rich hit is found on fPrediction cluster properties are calculated.
HParticleBtClusterF() | |
HParticleBtClusterF(const HParticleBtClusterF&) | |
virtual | ~HParticleBtClusterF() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | TObject::Browse(TBrowser* b) |
void | calcCluster(Int_t trackNo) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TObject::Clear(Option_t* = "") |
void | clearCluster() |
virtual TObject* | TObject::Clone(const char* newname = "") const |
virtual Int_t | TObject::Compare(const TObject* obj) const |
virtual void | TObject::Copy(TObject& object) 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 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 |
Bool_t | fillRingInfo(HParticleBtRingInfo* BtRingInfo) |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
Float_t | getChargeRing(const Int_t trackNo) |
Float_t | getChargeSum(const Int_t trackNo) |
Float_t | getChi2Value(const Int_t trackNo) |
Float_t | getChi2ValuePrimary(const Int_t trackNo) |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
Int_t | getMaxima(const Int_t trackNo) |
Float_t | getMaximaCharge(const Int_t trackNo) |
Float_t | getMaximaChargeShared(const Int_t trackNo) |
Float_t | getMaximaChargeSharedBad(const Int_t trackNo) |
Float_t | getMaximaChargeSharedBadTrack(const Int_t trackNo, const Int_t trackNo2) |
Float_t | getMaximaChargeSharedTrack(const Int_t trackNo, const Int_t trackNo2) |
Int_t | getMaximaShared(const Int_t trackNo) |
Int_t | getMaximaSharedBad(const Int_t trackNo) |
Int_t | getMaximaSharedBadTrack(const Int_t trackNo, const Int_t trackNo2) |
Int_t | getMaximaSharedTrack(const Int_t trackNo, const Int_t trackNo2) |
Float_t | getMeanDist(const Int_t trackNo) |
Float_t | getMeanDistX(const Int_t trackNo) |
Float_t | getMeanDistY(const Int_t trackNo) |
virtual const char* | TObject::GetName() const |
Int_t | getNClusters(const Int_t trackNo) |
Int_t | getNearbyMaxima(const Int_t trackNo) |
Int_t | getNearbyMaximaShared(const Int_t trackNo) |
Int_t | getNearbyMaximaSharedTrack(const Int_t trackNo, const Int_t trackNo2) |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
Int_t | getPadsRing(const Int_t trackNo) |
Int_t | getPadsSum(const Int_t trackNo) |
virtual const char* | TObject::GetTitle() const |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TObject::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 |
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 | TObject::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TObject::IsSortable() const |
Bool_t | TObject::IsZombie() const |
virtual void | TObject::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
void | noHitFound() |
virtual Bool_t | TObject::Notify() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
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) |
HParticleBtClusterF& | operator=(const HParticleBtClusterF&) |
virtual void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TObject::Print(Option_t* option = "") const |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
void | TObject::ResetBit(UInt_t f) |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(ostream& out, Option_t* option = "") |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | TObject::SetObjectStat(Bool_t stat) |
void | setRingF(HParticleBtRingF* ring) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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 | addressIsShared(Int_t address) |
void | addressToColRow(const Int_t address, Int_t& sec, Int_t& row, Int_t& col) |
void | calcChi2(const Int_t trackNo) |
void | calcRingShift(const Int_t trackNo) |
void | fillCluster(const Int_t trackNo, const UInt_t beginclus) |
void | findClusterShape(const UInt_t beginclus) |
void | findNeighbour(const Int_t trackNo, const Int_t address) |
void | fitMaximaPos(const UInt_t beginclus) |
Float_t | getPadCharge(const Int_t pos) |
Int_t | getShared(const Int_t trackNo, const Int_t clusNum, const Float_t sigmaRange, const Bool_t trackType, const Int_t trackNo2) |
Float_t | getSharedCharge(const Int_t trackNo, const Int_t clusNum, const Float_t sigmaRange, const Bool_t trackType, const Int_t trackNo2) |
void | nMaxima(const Int_t trackNo, const UInt_t beginclus) |
void | setGoodClus() |
Float_t | sharedChargeDiagonal(const Float_t maximumCharge) |
Float_t | sharedChargeHorizontal(const Float_t maximumCharge) |
Float_t | sharedChargeVertical(const Float_t maximumCharge) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
HParticleBtPar* | fBtPar | |
Float_t | fChargeDiagonalPar[3] | 3 Params per function |
Float_t | fChargeHorizontalPar[3] | |
Float_t | fChargeLimit[6] | |
Float_t | fChargeLimitMaximum[6] | |
Float_t | fChargeVerticalPar[3] | |
vector<Float_t> | fClusChargeRing | |
vector<Float_t> | fClusChargeSum | |
vector<vector<vector<Float_t> > > | fClusChi2 | |
vector<vector<vector<Float_t> > > | fClusChi2XMM | |
vector<vector<vector<Float_t> > > | fClusChi2YMM | |
vector<vector<vector<Float_t> > > | fClusCircleX | |
vector<vector<vector<Float_t> > > | fClusCircleY | |
vector<Int_t> | fClusClass | |
vector<Bool_t> | fClusIsGood | |
vector<vector<Int_t> > | fClusNMaxima | |
vector<vector<vector<Int_t> > > | fClusNMaximaPad | |
vector<vector<vector<Float_t> > > | fClusNMaximaPosX | |
vector<vector<vector<Float_t> > > | fClusNMaximaPosY | |
vector<Int_t> | fClusPadRing | |
vector<Int_t> | fClusPadSum | |
vector<Float_t> | fClusPosX | |
vector<Float_t> | fClusPosY | |
vector<vector<vector<Float_t> > > | fClusSig1X | |
vector<vector<vector<Float_t> > > | fClusSig1Y | |
vector<vector<vector<Float_t> > > | fClusSig2X | |
vector<vector<vector<Float_t> > > | fClusSig2Y | |
UInt_t | fClusSizeLimit | |
vector<vector<Int_t> > | fClusTrackNoShared | |
vector<Int_t> | fIsInCluster | |
Float_t | fMaxSigmaRange | |
Float_t | fMaxSigmaRangeSmall | |
Int_t | fMaximumType | |
Float_t | fMinimumSigmaValue | |
UInt_t | fNMaxLimit | |
Int_t | fNParMean | |
Int_t | fNParSigma | |
Int_t | fNRingSeg | |
Int_t | fNRingSegOffset | |
Int_t | fNRingSegStep | |
Float_t | fNSigma | |
Int_t | fNVertex | |
Int_t | fPadDown | |
Int_t | fPadDownLeft | |
Int_t | fPadDownRight | |
Int_t | fPadLeft | |
Int_t | fPadRight | |
Int_t | fPadUp | |
Int_t | fPadUpLeft | |
Int_t | fPadUpRight | |
Float_t | fPadWidthX | |
Float_t | fPadWidthY | |
Float_t | fParThetaAngleMax | |
Float_t | fParThetaAngleMin | |
Float_t | fPhiOff[6] | |
Float_t | fPhiOff2[6] | |
Int_t | fPhiOffsetPar | |
vector<vector<TF2*> > | fPol2DMean | |
vector<vector<TF2*> > | fPol2DSigma | |
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 | |
HParticleBtRingF* | fRing | |
vector<Float_t> | fRingMeanDistX | |
vector<Float_t> | fRingMeanDistY | |
Float_t | fSigmaErrorPad | |
Float_t | fSigmaGaus[2] | x,y |
Float_t | fSigmaGausRange[2] | x,y |
Converts richCal address to sector, column and row numbers
Returns number of maxima that are inside sigma region of track with trackNo Values are calculated for a single cluster with clusNum Function call sets search area (sigma range) and track type ( good Track, close track with bad quality)
Returns number of charge maxima that are inside sigma region of track with trackNo Values are calculated for a single cluster with clusNum Function call sets search area (sigma range) and track type ( good Track, close track with bad quality)
Checks if rich pad is inside fPrediction area of additional tracks
Diagonal charge sharing in dependence of maximum size Determined by quadratic 4 pad clusters
Vertical charge sharing in dependence of maximum size Determined by 2 pad clusters
Horizontal charge sharing in dependence of maximum size Determined by 2 pad clusters
Searches for pads directly connected to initial pad and adds them to the same cluster
Fills basic cluster information in vectors
Searches for maxima in clusters: Maximum8: All 8 surrounding pads must have measured a smaller charge than maximum pad Maximum4: 4 directly connected pads must have measured a smaller charge than maximum pad Maximum7: 7 directly connected pads must have measured a smaller charge than maximum pad Adds maxima with smaller charge that are located directly next to maximum Indicated by larger charge of diagonal pad compared to directly connected pad of primary maximum
Fit charge distribution of clusters to determine more precise maxima positions
Calculates distance between maxima positions and ring predictions for tracks Distance is normalized by sigma of optical distortioan and error of maximum position determination
Shapes of clusters is detected and marked with number. Only most common shapes are considered Clusters with more than 5 pads are just sorted by size
Calculates mean maxima position deviation from ring prediction Mean deviation in x,y direction is stored
Returns number of pads of clusters which have at least one predicted pad
Returns charge of clusters which have at least one predicted pad
Get number of clusters which have at least one predicted pad
Return number of maxima per ring which are in restricted sigma area ( fMaxSigmaRangeSmall)
Returns chi2 value Maxima are only used if distance is closest to current track
Returns number of maxima which are inside shared clusters
Returns number of maxima which are inside a cluster which is shared with track 2
Returns number of maxima which are inside shared clusters
Returns number of maxima which are inside a cluster which is shared with track 2
Returns number of maxima which are inside shared clusters and inside a small sigma range
Returns number of maxima which are inside a cluster which is shared with track 2 and inside a restricted sigma range of both tracks
Returns charge of maxima pads which are inside shared clusters
Returns charge of maxima pads which are inside a cluster which is shared with track 2
Returns charge of maxima pads which are inside shared clusters
Returns charge of maxima pads which are inside a cluster which is shared with track 2
Returns mean maxima deviation of maxima from ring prediction in x direction
Returns mean maxima deviation of maxima from ring prediction in y direction
Returns mean maxima deviation of maxima from ring prediction
Main method of the HParticleBtClusterF class. It makes all the relevant calculation on the clusters