HKickTrackF
class description - source file - inheritance tree (.pdf)
protected:
void assignRemainingCombinations()
void assignUniqueCombinations()
void checkMETAoverlap(Int_t i, Int_t j)
void checkTofClusterParticipants(Int_t i, Int_t j, Int_t sz)
void clearImpactList()
void evaluateMetaCandidates()
Int_t execute_mult()
virtual void fillControl(HKickCandidate& candidate, HKickImpact* imp)
virtual HKickTrack* fillData(HKickCandidate& candidate, HKickImpact* imp)
Bool_t isUnique(Int_t i, Int_t j)
virtual HKickCandidateEvaluator* makeEvaluator()
virtual HCategory* makeOutputCategory(HEvent* event)
virtual HKickTrack* makeTrack()
Bool_t passesCuts(HKickCandidate& c)
virtual void readHits(HLocation& loc)
virtual void readMetaHits(HLocation& loc)
void selectTofClusters(Int_t i)
void transform(HMdcSeg* hit, HGeomVector& r, HGeomVector& alpha)
public:
HKickTrackF(Text_t* name = "kick.trackf", Text_t* title = "Kick track finder")
~HKickTrackF()
static TClass* Class()
void enableControlHistograms()
virtual Int_t execute()
virtual Bool_t finalize()
Bool_t getConservativeMode()
Bool_t getTofClusterMode()
Bool_t hasMultipleTarget()
Bool_t hasShower()
Bool_t hasTof()
virtual Bool_t init()
virtual TClass* IsA() const
virtual Bool_t reinit()
void setConservativeMode(Bool_t m)
void setDebug(Bool_t flag = kTRUE)
void setMultipleTarget(Bool_t f = kTRUE)
void setTofClusterMode(Bool_t m)
void setVertexAlgorithm(Bool_t f = kTRUE)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Bool_t usingVertexAlgorithm()
private:
static const Int_t kInactiveSector Sector is not active
static const Int_t kLowResSector Sector has not outer chambers
protected:
Cat_t fShowerCatId
HLocation fSectorLoc !
HKickPlane2* fKickPlane The kick plane
HKickMatchPar* fMatchPar
HKickPlane2* fKickPlaneList[2]
HKickMatchPar* fMatchParList[2]
HKickTrackFPar* fKickPar Finder parameters
TClonesArray* fImpacts !List of impacts in kick plane.
Int_t fNImpacts Nb of valid impacts
HCategory* fInput !Input category
HCategory* fTofHits !TOF hits
HCategory* fTofClusters !TOF clusters
HCategory* fShowerHits !
HCategory* fCandidateOut ! Output category
TObjArray fOuterHitArray
Int_t fNTofHits
Int_t fNShowerHits
Int_t fNTotalHits
HIterator* fIter Iterator in fInput
HIterator* fTofIter Iterator in fInput
HIterator* fTofCIter Iterator in fInput
HIterator* fShowerIter !
Double_t fMinMomentum
Double_t fMaxXPull Max pull in x
HMdcGeomPar* fMdcGeometry !Geometry transformation
HTofGeomPar* fTofGeometry !TOF geometry
HTofClusterFPar* fTofClFPar
HTofinoGeomPar* fTofinoGeometry ! Tofino Geometry
HSpecGeomPar* fSpecGeometry
HShowerGeometry* fShowerGeometry
HKickCandidateMatrix fCandidates
HKickCandidateEvaluator* fEvaluator
Bool_t fHasTof
Bool_t fHasShower
Bool_t fConservativeMode
Bool_t fTofClusterMode
TArrayI fSectors Sectors to be analized.
Float_t fTimeOffset
Bool_t fDebug
Bool_t fControlHistograms flag for control histograms
TNtuple* fRecStat ! Reconstruction statistics
Float_t fTargetFlag Flag indicating which target was used.
Bool_t fUsingVertex Wheter to use or not to use vertex algorithm
Bool_t fMultipleTarget
TH1F* histCorELoss
TH1F* histCorELossCut
TH1F* histDiffMom
TH1F* histDiffMomCut
HKickTrackF
This class is intended to match Mdc segments before and after de
magnet associating the matching pairs a momentum The momentum
calculation and matching is done using
a kick plane technique to parametrize the deflection of tracks
in the HADES inhomogeneous magnet.
Additional documentation available <a href="http://www-hades.gsi.de/persons/sanchez/hadesdocs/kickdoc.ps.gz">here</a>
ToF hits clustering implemented. Use option "tofclust" in HKickTaskSet
to invoke this functionality.
HKickTrackF(Text_t name[],Text_t title[])
: HKickTask(name,title),fOuterHitArray(1000)
Default constructor.
~HKickTrackF(void)
Guess it?
Int_t execute(void)
Launchs reconstruction
Int_t execute_mult(void)
This is the brain of this class. It directs the reconstruction for each event
void fillControl(HKickCandidate &candidate, HKickImpact *imp)
Fills control variables, histograms....
void evaluateMetaCandidates(void)
Loops on all identified candidates evaluating each of them.
That is, calculating its associated momentum and other useful variables
for the algorithm
void checkMETAoverlap(Int_t i,Int_t j)
Bool_t passesCuts(HKickCandidate &c)
Checks if a given candidate passes all cuts to be considered a good candidate
void assignRemainingCombinations(void)
void assignUniqueCombinations(void)
Match those candidates which pass all cuts and verifying that
neither the META hit or the MDC hit are used in other valid candidates.
In case such a conflict is detected, this method tries to find a solution.
HKickTrack* makeTrack(void)
HCategory* makeOutputCategory(HEvent *event)
HKickTrack* fillData(HKickCandidate &candidate,
HKickImpact *imp)
Fills output data in the output category
Bool_t isUnique(Int_t i,Int_t j)
Checks if a candidate is unique. The mechanism for solving conflicts is implemented
here
HKickCandidateEvaluator* makeEvaluator(void)
Creates a candidate evaluator. Factory method
void checkTofClusterParticipants(Int_t i,Int_t j,Int_t sz)
Tof hits clustering auxiliary function.
It checks the pair of tracks composed from hits
on their momentum difference and polarity and on
energy deposited in ToF wall corrected on path
length of the track in ToF wall.
In case that the kick-candidate composed from
cluster-candidate and mdc segment was not accepted
by clustering conditions the fClAccept flag is set to 0.
In case that it was accepted the fClAccept flags for
appropriate kick-candidates composed from hits participating on the
cluster and mdc segment are set to 0.
void selectTofClusters(Int_t i)
Body of the ToF hits clustering mechanism.
It calls function checkTofClusterParticipants
for each combination cluster - mdc segment.
Bool_t init(void)
Initializes
Bool_t reinit(void)
Bool_t finalize(void)
Finalization code
void clearImpactList(void)
void readMetaHits(HLocation &loc)
Reads hits from MDC and TOF detectors
void readHits(HLocation &loc)
Loops on the input category reading objects and adding objects to
the list of candidates fImpacts.
void transform(HMdcSeg *hit,
HGeomVector &r,HGeomVector &alpha)
Calculates position and direction vector for a HMdcHit
Inline Functions
Bool_t hasTof()
Bool_t hasShower()
void setConservativeMode(Bool_t m)
Bool_t getConservativeMode()
void setTofClusterMode(Bool_t m)
Bool_t getTofClusterMode()
void setDebug(Bool_t flag = kTRUE)
void enableControlHistograms()
Bool_t usingVertexAlgorithm()
void setVertexAlgorithm(Bool_t f = kTRUE)
Bool_t hasMultipleTarget()
void setMultipleTarget(Bool_t f = kTRUE)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: M.Sanchez (24.05.2000)
Last update: M.Sanchez(24.05.2000)
Copyright GENP
ROOT page - Class index - Class Hierarchy - Top of the page
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.