EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EicHtcTask Class Reference

#include <EicRoot/blob/master/eic/htc/EicHtcTask.h>

+ Inheritance diagram for EicHtcTask:
+ Collaboration diagram for EicHtcTask:

Public Member Functions

 EicHtcTask ()
 
 EicHtcTask (EicIdealTrackingCode *ideal, MfieldMode fieldMode=WithField)
 
void ResetVars ()
 
 ~EicHtcTask ()
 
InitStatus Init ()
 
void Exec (Option_t *opt)
 
void Print (Option_t *option="") const
 
void FinishTask ()
 
void SetTrackOutBranchName (const TString &name)
 
int SetParticleHypothesis (const char *name, double momentumSeed=0.0)
 
virtual MediaBankConfigureMediaBank ()
 
void SetMediaScanThetaPhi (double theta, double phi)
 
TVector3 GetMediaScanDirection () const
 
void SetHitOutputCoordinateScaleXY (double scale)
 
void SetHitOutputSlopeScale (double scale)
 
void SetHitOutputResidualScaleXY (double scale)
 
void SetResolutionByHand (const char *plName, double value)
 
double GetResolutionByHand (const char *plName)
 
HtcKalmanFilterGetKalmanFilter () const
 
virtual unsigned GetMissingHitCounterMax () const
 
- Public Member Functions inherited from FairTask
 FairTask ()
 
 FairTask (const char *name, Int_t iVerbose=1)
 
virtual ~FairTask ()
 
void InitTask ()
 
void ReInitTask ()
 
void SetParTask ()
 
virtual void FinishEvent ()
 
void SetVerbose (Int_t iVerbose)
 
void SetInputPersistance (Bool_t val)
 
void CheckInputPersistance (TString branchName)
 

Public Attributes

TString mParticleHypothesis
 
Double_t mParticleMomentumSeed
 

Protected Member Functions

unsigned GetMaxPossibleHitCount () const
 Kalman filter pointer.
 
- Protected Member Functions inherited from FairTask
virtual InitStatus ReInit ()
 
virtual void SetParContainers ()
 
virtual void Finish ()
 
void InitTasks ()
 
void ReInitTasks ()
 
void SetParTasks ()
 
void FinishTasks ()
 
void FinishEvents ()
 

Protected Attributes

EicIdealTrackingCodemIdealTrCode
 
HtcKalmanFiltermKalmanFilter
 
- Protected Attributes inherited from FairTask
Int_t fVerbose
 
Int_t fInputPersistance
 Indicates if input branch is persistant.
 
FairLoggerfLogger
 

Private Member Functions

int PerformMediaScan ()
 
int DeclareSensitiveVolumes ()
 
int ConfigureKalmanFilter ()
 
int ConstructLinearTrackApproximation (KfMatrix *A, KfMatrix *b)
 
FairTrackParP GetFairTrackParP (TrKalmanNode *node)
 
 ClassDef (EicHtcTask, 22)
 

Private Attributes

MediaBankmMediaBank
 
TClonesArray * mFitTrackArray
 
TString mTrackOutBranchName
 Output TCA for track.
 
TBranch * mHtcBranch
 Name of the output TCA.
 
EicHtcTrackmHtcTrack
 HTC track branch.
 
Bool_t mPersistency
 track buffer to be fed to tree->Fill()
 
TVector3 mMediaScanDirection
 
Double_t mCoordinateScaleXY
 
Double_t mSlopeScale
 
Double_t mResidualScaleXY
 
std::map< TString, double > mResolutionsByHand
 

Detailed Description

Definition at line 197 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 197 of file EicHtcTask.h

Constructor & Destructor Documentation

EicHtcTask::EicHtcTask ( )
inline

Definition at line 200 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 200 of file EicHtcTask.h

References ResetVars().

+ Here is the call graph for this function:

EicHtcTask::EicHtcTask ( EicIdealTrackingCode ideal,
MfieldMode  fieldMode = WithField 
)

Definition at line 49 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 49 of file EicHtcTask.cxx

References mFitTrackArray, mIdealTrCode, mKalmanFilter, and ResetVars().

+ Here is the call graph for this function:

EicHtcTask::~EicHtcTask ( )
inline

Definition at line 216 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 216 of file EicHtcTask.h

Member Function Documentation

EicHtcTask::ClassDef ( EicHtcTask  ,
22   
)
private
int EicHtcTask::ConfigureKalmanFilter ( )
private

Definition at line 325 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 325 of file EicHtcTask.cxx

References TrKalmanFilter::Configure(), EicDetectorGroup::dname, EicIdealTrackingCode::fGroups, GetKalmanFilter(), GetMaxPossibleHitCount(), GetMissingHitCounterMax(), mIdealTrCode, mKalmanFilter, mMediaBank, StringList::mString, EicDetName::Name(), printf(), runge_kutta_fun(), TrKalmanFilter::SetUpLocations(), and EicDetectorGroup::svCounter.

Referenced by Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MediaBank * EicHtcTask::ConfigureMediaBank ( )
virtual

Reimplemented in FwdTrackFinder.

Definition at line 157 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 157 of file EicHtcTask.cxx

References mMediaScanDirection, and MediaBank::SetScanLine().

Referenced by PerformMediaScan().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicHtcTask::ConstructLinearTrackApproximation ( KfMatrix A,
KfMatrix b 
)
private

Definition at line 515 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 515 of file EicHtcTask.cxx

References _DIM_, _USE_00_, KalmanFilter::GetTail(), ip(), KfMatrix::KFV(), mKalmanFilter, mParticleMomentumSeed, TrKalmanFilter::ResetNode(), and TrKalmanNode::SetMomentum().

Referenced by Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicHtcTask::DeclareSensitiveVolumes ( )
private

Definition at line 217 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 217 of file EicHtcTask.cxx

References KalmanFilter::AddNodeWrapper(), EicDetectorGroup::dname, EicIdealTrackingCode::fGroups, EicGeoParData::GetLookupTableNode(), EicKfNodeTemplate::GetMdim(), LocalToMaster(), EicDetectorGroup::mDigi, LogicalVolumeLookupTableEntry::mGeoMtx, EicDetectorGroup::mGptr, mIdealTrCode, mKalmanFilter, EicTrackingDigiHitProducer::mKfNodeTemplates, SensitiveVolume::mKfNodeWrappers, SensitiveVolume::mLogicalNode, EicDetectorGroup::mSensitiveVolumes, EicDetName::Name(), printf(), EicDetectorGroup::svCounter, and Acts::Test::volume.

Referenced by Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicHtcTask::Exec ( Option_t *  opt)

Definition at line 580 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 580 of file EicHtcTask.cxx

References _DIM_, _EIC_HTC_BRANCH_, _EIC_HTC_TRACK_, _EIC_HTC_TREE_, EicDetectorGroup::_fHits, EicTrackingDigiHit::_GetCoord(), _TRUST_FILTER_FCN_, _USE_XF_, _USE_XS_, _X_, _Y_, KalmanFilter::Backward, cm2mm, ConstructLinearTrackApproximation(), EicDetectorGroup::dname, FairLogger::Fatal(), EicIdealTrackingCode::fGroups, KalmanFilter::FilterPass(), FairTask::fLogger, KalmanFilter::Forward, KalmanFilter::FullChain(), EicGeoParData::GeantMultiToLogicalIndex(), KalmanNode::GetCS(), GetFairTrackParP(), KalmanFilter::GetFilterChiSquare(), KalmanFilter::GetFilterChiSquareCCDF(), KalmanFilter::GetFilterNdf(), KalmanFilter::GetHead(), TrKalmanNode::GetInversedMomentum(), EicTrackingDigiHit::GetKfNodeID(), EicGeoParData::GetLookupTableNode(), KalmanNode::GetMdim(), EicKfNodeTemplate::GetMeasurementNoise(), KalmanNode::GetName(), GetResolutionByHand(), KalmanNode::GetRm(), KalmanNode::GetRM(), KalmanNode::GetRs(), KalmanNode::GetRS(), EicDetectorGroup::GetSensitiveVolume(), KalmanNode::GetSmootherChiSquare(), KalmanFilter::GetTail(), PndTrack::GetTrackCand(), KalmanNode::GetV(), KalmanNode::GetX0(), KalmanNode::GetXs(), FairHit::GetZ(), EicKfNodeTemplate::IncrementLinearTrackFitMatrices(), KalmanNode::IsFired(), KfMatrix::KFM(), KalmanFilter::LatchGroupNdfControlFlags(), EicHtcTrack::mBeamCoordSigmaXY, EicHtcTrack::mBeamCoordXY, EicHtcTrack::mBeamSlopeSigmaXY, EicHtcTrack::mBeamSlopeXY, mCoordinateScaleXY, EicDetectorGroup::mDigi, MESSAGE_ORIGIN, EicHtcTrack::mFilterChiSquare, EicHtcTrack::mFilterChiSquareCCDF, mFitTrackArray, LogicalVolumeLookupTableEntry::mGeoMtx, EicDetectorGroup::mGptr, EicHtcTrack::mHits, mHtcBranch, mHtcTrack, mIdealTrCode, mKalmanFilter, EicTrackingDigiHitProducer::mKfNodeTemplates, SensitiveVolume::mKfNodeWrappers, EicHtcHitComponent::mLocalCoord1D, EicHtcTrack::mMomentum, EicTrackingDigiHit::mMultiIndex, EicHtcTrack::mNdf, mParticleHypothesis, mResidualScaleXY, EicHtcHitComponent::mResolution, EicDetectorGroup::mSensitiveVolumes, EicHtcHitComponent::mSigmaRM, EicHtcHitComponent::mSigmaRS, mSlopeScale, EicHtcHit::mSmootherChiSquare, EicHtcHitComponent::mXmResidual, EicHtcHitComponent::mXsResidual, EicDetName::NAME(), EicDetName::Name(), printf(), KfMatrix::Reset(), KalmanFilter::ResetFiredFlags(), TrKalmanFilter::ResetNode(), KalmanNode::SetFiredFlag(), TrKalmanNode::SetHit(), TrKalmanNode::SetMeasurementNoise(), TrKalmanFilter::SetParticleGroup(), and value.

+ Here is the call graph for this function:

void EicHtcTask::FinishTask ( )
virtual

Action at end of run. For this task and all of the subtasks.

Reimplemented from FairTask.

Reimplemented in FwdTrackFinder.

Definition at line 934 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 934 of file EicHtcTask.cxx

References FairTask::FinishTask(), mHtcBranch, and mPersistency.

+ Here is the call graph for this function:

FairTrackParP EicHtcTask::GetFairTrackParP ( TrKalmanNode node)
private

Definition at line 555 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 555 of file EicHtcTask.cxx

References charge, TrKalmanFilter::GetFieldMode(), KalmanFilter::GetHead(), TrKalmanNode::GetInversedMomentum(), KalmanNode::GetX0(), KalmanNode::GetXs(), TrKalmanNode::GetZ(), mKalmanFilter, momentum, n, NoField, and x.

Referenced by Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

unsigned EicHtcTask::GetMaxPossibleHitCount ( ) const
protected

Kalman filter pointer.

Definition at line 302 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 302 of file EicHtcTask.cxx

References KalmanFilter::Forward, and GetKalmanFilter().

Referenced by ConfigureKalmanFilter(), and FwdTrackFinder::Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TVector3 EicHtcTask::GetMediaScanDirection ( ) const
inline

Definition at line 243 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 243 of file EicHtcTask.h

References mMediaScanDirection.

Referenced by FwdTrackFinder::ConfigureMediaBank().

+ Here is the caller graph for this function:

virtual unsigned EicHtcTask::GetMissingHitCounterMax ( ) const
inlinevirtual

Reimplemented in FwdTrackFinder.

Definition at line 264 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 264 of file EicHtcTask.h

Referenced by ConfigureKalmanFilter().

+ Here is the caller graph for this function:

double EicHtcTask::GetResolutionByHand ( const char *  plName)
inline

Definition at line 254 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 254 of file EicHtcTask.h

References mResolutionsByHand.

Referenced by Exec().

+ Here is the caller graph for this function:

InitStatus EicHtcTask::Init ( )
virtual

Intialisation at begin of run. To be implemented in the derived class. Success If not kSUCCESS, task will be set inactive.

Reimplemented from FairTask.

Reimplemented in FwdTrackFinder.

Definition at line 394 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 394 of file EicHtcTask.cxx

References ConfigureKalmanFilter(), DeclareSensitiveVolumes(), EicDetectorGroup::dname, EicIdealTrackingCode::fGroups, G3INIT, G3PHYSI, G3ZEBRA, G3ZINIT, GCBANK_SIZE, EicRunAna::GetFriendFiles(), FairRootManager::GetInFile(), FairTask::Init(), EicGeoParData::InitializeLookupTables(), EicRunAna::Instance(), FairRootManager::Instance(), kERROR, kSUCCESS, EicDetectorGroup::mDigi, mFitTrackArray, EicDetectorGroup::mGptr, mIdealTrCode, mTrackOutBranchName, EicDetName::Name(), PerformMediaScan(), and FairRootManager::Register().

Referenced by FwdTrackFinder::Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicHtcTask::PerformMediaScan ( )
private

Definition at line 176 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 176 of file EicHtcTask.cxx

References ConfigureMediaBank(), MediaBank::GetScanLine(), MediaBank::IsOutOfRange(), mMediaBank, t_3d_line::nx, MediaBank::Print(), printf(), MediaBank::SetCurrentLayerThickness(), MediaBank::StartNextLayer(), and x.

Referenced by Init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void EicHtcTask::Print ( Option_t *  option = "") const

Definition at line 949 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 949 of file EicHtcTask.cxx

References mParticleHypothesis, mParticleMomentumSeed, Print(), and printf().

+ Here is the call graph for this function:

void EicHtcTask::ResetVars ( )
inline

Definition at line 203 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 203 of file EicHtcTask.h

References mCoordinateScaleXY, mFitTrackArray, mHtcBranch, mHtcTrack, mKalmanFilter, mMediaBank, mMediaScanDirection, mParticleMomentumSeed, mPersistency, mResidualScaleXY, and mSlopeScale.

Referenced by EicHtcTask().

+ Here is the caller graph for this function:

void EicHtcTask::SetHitOutputCoordinateScaleXY ( double  scale)
inline

Definition at line 247 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 247 of file EicHtcTask.h

References mCoordinateScaleXY.

Referenced by reconstruction().

+ Here is the caller graph for this function:

void EicHtcTask::SetHitOutputResidualScaleXY ( double  scale)
inline

Definition at line 249 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 249 of file EicHtcTask.h

References mResidualScaleXY.

Referenced by reconstruction().

+ Here is the caller graph for this function:

void EicHtcTask::SetHitOutputSlopeScale ( double  scale)
inline

Definition at line 248 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 248 of file EicHtcTask.h

References mSlopeScale.

Referenced by reconstruction().

+ Here is the caller graph for this function:

void EicHtcTask::SetMediaScanThetaPhi ( double  theta,
double  phi 
)

Definition at line 147 of file EicHtcTask.cxx.

View newest version in sPHENIX GitHub at line 147 of file EicHtcTask.cxx

References cos(), and mMediaScanDirection.

Referenced by reconstruction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int EicHtcTask::SetParticleHypothesis ( const char *  name,
double  momentumSeed = 0.0 
)
inline

Definition at line 231 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 231 of file EicHtcTask.h

References mParticleHypothesis, and mParticleMomentumSeed.

Referenced by reconstruction().

+ Here is the caller graph for this function:

void EicHtcTask::SetResolutionByHand ( const char *  plName,
double  value 
)
inline

Definition at line 251 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 251 of file EicHtcTask.h

References mResolutionsByHand, and value.

void EicHtcTask::SetTrackOutBranchName ( const TString &  name)
inline

Definition at line 227 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 227 of file EicHtcTask.h

References mTrackOutBranchName, and name.

Referenced by reconstruction().

+ Here is the caller graph for this function:

Member Data Documentation

Double_t EicHtcTask::mCoordinateScaleXY
private

Definition at line 299 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 299 of file EicHtcTask.h

Referenced by Exec(), ResetVars(), and SetHitOutputCoordinateScaleXY().

TClonesArray* EicHtcTask::mFitTrackArray
private

Definition at line 279 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 279 of file EicHtcTask.h

Referenced by EicHtcTask(), Exec(), Init(), and ResetVars().

TBranch* EicHtcTask::mHtcBranch
private

Name of the output TCA.

Definition at line 283 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 283 of file EicHtcTask.h

Referenced by Exec(), FinishTask(), and ResetVars().

EicHtcTrack* EicHtcTask::mHtcTrack
private

HTC track branch.

Definition at line 284 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 284 of file EicHtcTask.h

Referenced by Exec(), and ResetVars().

EicIdealTrackingCode* EicHtcTask::mIdealTrCode
protected

Definition at line 264 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 264 of file EicHtcTask.h

Referenced by ConfigureKalmanFilter(), DeclareSensitiveVolumes(), EicHtcTask(), FwdTrackFinder::Exec(), Exec(), and Init().

HtcKalmanFilter* EicHtcTask::mKalmanFilter
protected

Definition at line 269 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 269 of file EicHtcTask.h

Referenced by ConfigureKalmanFilter(), ConstructLinearTrackApproximation(), DeclareSensitiveVolumes(), EicHtcTask(), Exec(), GetFairTrackParP(), GetKalmanFilter(), and ResetVars().

MediaBank* EicHtcTask::mMediaBank
private

Definition at line 277 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 277 of file EicHtcTask.h

Referenced by ConfigureKalmanFilter(), PerformMediaScan(), and ResetVars().

TVector3 EicHtcTask::mMediaScanDirection
private

Definition at line 287 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 287 of file EicHtcTask.h

Referenced by ConfigureMediaBank(), GetMediaScanDirection(), ResetVars(), and SetMediaScanThetaPhi().

TString EicHtcTask::mParticleHypothesis

Definition at line 290 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 290 of file EicHtcTask.h

Referenced by Exec(), Print(), SetParticleHypothesis(), and FwdHoughTree::SetupKalmanFilter().

Double_t EicHtcTask::mParticleMomentumSeed

Definition at line 292 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 292 of file EicHtcTask.h

Referenced by ConstructLinearTrackApproximation(), Print(), ResetVars(), FwdTrackFinder::ResetVtxNode(), SetParticleHypothesis(), and FwdHoughTree::SetupKalmanFilter().

Bool_t EicHtcTask::mPersistency
private

track buffer to be fed to tree->Fill()

Definition at line 285 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 285 of file EicHtcTask.h

Referenced by FinishTask(), and ResetVars().

Double_t EicHtcTask::mResidualScaleXY
private

Definition at line 303 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 303 of file EicHtcTask.h

Referenced by Exec(), ResetVars(), and SetHitOutputResidualScaleXY().

std::map<TString, double> EicHtcTask::mResolutionsByHand
private

Definition at line 305 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 305 of file EicHtcTask.h

Referenced by GetResolutionByHand(), and SetResolutionByHand().

Double_t EicHtcTask::mSlopeScale
private

Definition at line 301 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 301 of file EicHtcTask.h

Referenced by Exec(), ResetVars(), and SetHitOutputSlopeScale().

TString EicHtcTask::mTrackOutBranchName
private

Output TCA for track.

Definition at line 281 of file EicHtcTask.h.

View newest version in sPHENIX GitHub at line 281 of file EicHtcTask.h

Referenced by Init(), and SetTrackOutBranchName().


The documentation for this class was generated from the following files: