Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackTimeBased_factory Class Reference

#include <DTrackTimeBased_factory.h>

+ Inheritance diagram for DTrackTimeBased_factory:

Private Member Functions

jerror_t init (void)
 Called once at program start. More...
 
jerror_t brun (jana::JEventLoop *loop, int32_t runnumber)
 Called everytime a new run number is detected. More...
 
jerror_t evnt (jana::JEventLoop *loop, uint64_t eventnumber)
 Called every event. More...
 
jerror_t erun (void)
 Called everytime run number changes, provided brun has been called. More...
 
jerror_t fini (void)
 Called after last event of last event source has been processed. More...
 
void FilterDuplicates (void)
 
double GetTruthMatchingFOM (int trackIndex, DTrackTimeBased *dtrack, vector< const DMCThrown * >mcthrowns)
 
int GetThrownIndex (vector< const DMCThrown * > &locMCThrowns, const DKinematicData *kd, double &f)
 
void CreateStartTimeList (const DTrackWireBased *track, vector< const DSCHit * > &sc_hits, vector< const DTOFPoint * > &tof_points, vector< const DBCALShower * > &bcal_showers, vector< const DFCALShower * > &fcal_showers, vector< DTrackTimeBased::DStartTime_t > &start_times)
 
bool DoFit (const DTrackWireBased *track, vector< DTrackTimeBased::DStartTime_t > &start_times, JEventLoop *loop, double mass)
 
void AddMissingTrackHypothesis (vector< DTrackTimeBased * > &tracks_to_add, const DTrackTimeBased *src_track, double my_mass, double q, JEventLoop *loop)
 
bool InsertMissingHypotheses (JEventLoop *loop)
 
void CorrectForELoss (DVector3 &position, DVector3 &momentum, double q, double my_mass)
 
void AddMissingTrackHypotheses (unsigned int mass_bits, vector< DTrackTimeBased * > &tracks_to_add, vector< DTrackTimeBased * > &hypotheses, double q, bool flipped_charge, JEventLoop *loop)
 

Private Attributes

bool DEBUG_HISTS
 
int DEBUG_LEVEL
 
bool PID_FORCE_TRUTH
 
bool USE_HITS_FROM_WIREBASED_FIT
 
DTrackFitterfitter
 
const DParticleIDpid_algorithm
 
vector< int > mass_hypotheses_positive
 
vector< int > mass_hypotheses_negative
 
TH1F * fom_chi2_trk
 
TH1F * fom
 
TH1F * hitMatchFOM
 
TH2F * chi2_trk_mom
 
TH2F * Hstart_time
 
const DGeometrygeom
 
double mStartTime
 
DetectorSystem_t mStartDetector
 
int mNumHypPlus
 
int mNumHypMinus
 
bool dIsNoFieldFlag
 
bool INSERT_MISSING_HYPOTHESES
 
bool USE_SC_TIME
 
bool USE_FCAL_TIME
 
bool USE_BCAL_TIME
 
bool USE_TOF_TIME
 
vector< DVector3sc_pos
 
vector< DVector3sc_norm
 
int myevt
 

Detailed Description

Definition at line 36 of file DTrackTimeBased_factory.h.

Member Function Documentation

void DTrackTimeBased_factory::AddMissingTrackHypotheses ( unsigned int  mass_bits,
vector< DTrackTimeBased * > &  tracks_to_add,
vector< DTrackTimeBased * > &  hypotheses,
double  q,
bool  flipped_charge,
JEventLoop *  loop 
)
private
void DTrackTimeBased_factory::AddMissingTrackHypothesis ( vector< DTrackTimeBased * > &  tracks_to_add,
const DTrackTimeBased src_track,
double  my_mass,
double  q,
JEventLoop *  loop 
)
private

Definition at line 951 of file DTrackTimeBased_factory.cc.

References DTrackTimeBased::candidateid, DTrackTimeBased::cdc_hit_usage, DKinematicData::charge(), DTrackTimeBased::chisq, DTrackTimeBased::dCDCRings, DTrackTimeBased::ddEdx_CDC, DTrackTimeBased::ddEdx_CDC_amp, DTrackTimeBased::ddEdx_FDC, DTrackTimeBased::ddx_CDC, DTrackTimeBased::ddx_CDC_amp, DTrackTimeBased::ddx_FDC, DTrackTimeBased::dFDCPlanes, DTrackTimeBased::dNumHitsUsedFordEdx_CDC, DTrackTimeBased::dNumHitsUsedFordEdx_FDC, DTrackTimeBased::extrapolations, DTrackTimeBased::fdc_hit_usage, DTrackFitter::FindHitsAndFitTrack(), fitter, DTrackTimeBased::FLAG__GOODFIT, DTrackTimeBased::FLAG__USED_OTHER_HYPOTHESIS, DTrackTimeBased::flags, DTrackTimeBased::FOM, DTrackFitter::GetCDCFitHits(), DTrackFitter::GetChisq(), DTrackFitter::GetExtrapolations(), DTrackFitter::GetFDCFitHits(), DTrackFitter::GetFitParameters(), DTrackFitter::GetIsSmoothed(), DTrackFitter::GetNdof(), DTrackFitter::GetNumPotentialCDCHits(), DTrackFitter::GetNumPotentialFDCHits(), DTrackFitter::GetPulls(), IDTrack(), xstream::base64::index(), DTrackTimeBased::hit_usage_t::inner_layer, DTrackTimeBased::IsSmoothed, DTrackFitter::kFitFailed, DTrackFitter::kFitNotDone, DTrackFitter::kFitSuccess, DTrackFitter::kTimeBased, DTrackTimeBased::measured_cdc_hits_on_track, DTrackTimeBased::measured_fdc_hits_on_track, DTrackTimeBased::Ndof, DTrackTimeBased::hit_usage_t::outer_layer, DTrackTimeBased::potential_cdc_hits_on_track, DTrackTimeBased::potential_fdc_hits_on_track, DTrackTimeBased::pulls, DTrackFitter::Reset(), DTrackFitter::SetFitType(), DKinematicData::setMomentum(), DKinematicData::setPID(), DKinematicData::setPosition(), DTrackingData::setT0(), DTrackTimeBased::start_times, SYS_CDC, SYS_FDC, DTrackingData::t0(), DTrackingData::t0_detector(), temp, DTrackTimeBased::hit_usage_t::total_hits, and DTrackTimeBased::trackid.

jerror_t DTrackTimeBased_factory::brun ( jana::JEventLoop *  loop,
int32_t  runnumber 
)
private

Called everytime a new run number is detected.

Definition at line 162 of file DTrackTimeBased_factory.cc.

References _DBG_, dapp, fitter, DApplication::GetBfield(), and DApplication::GetDGeometry().

void DTrackTimeBased_factory::CorrectForELoss ( DVector3 position,
DVector3 momentum,
double  q,
double  my_mass 
)
private
void DTrackTimeBased_factory::CreateStartTimeList ( const DTrackWireBased track,
vector< const DSCHit * > &  sc_hits,
vector< const DTOFPoint * > &  tof_points,
vector< const DBCALShower * > &  bcal_showers,
vector< const DFCALShower * > &  fcal_showers,
vector< DTrackTimeBased::DStartTime_t > &  start_times 
)
private
bool DTrackTimeBased_factory::DoFit ( const DTrackWireBased track,
vector< DTrackTimeBased::DStartTime_t > &  start_times,
JEventLoop *  loop,
double  mass 
)
private

Definition at line 712 of file DTrackTimeBased_factory.cc.

References _DBG_, _DBG__, DTrackFitter::AddHits(), DTrackWireBased::candidateid, DTrackTimeBased::candidateid, DTrackTimeBased::cdc_hit_usage, DKinematicData::charge(), DTrackWireBased::chisq, DTrackTimeBased::chisq, DTrackTimeBased::dCDCRings, DTrackTimeBased::ddEdx_CDC, DTrackTimeBased::ddEdx_CDC_amp, DTrackTimeBased::ddEdx_FDC, DTrackTimeBased::ddx_CDC, DTrackTimeBased::ddx_CDC_amp, DTrackTimeBased::ddx_FDC, DTrackTimeBased::dFDCPlanes, DTrackTimeBased::dNumHitsUsedFordEdx_CDC, DTrackTimeBased::dNumHitsUsedFordEdx_FDC, DTrackWireBased::extrapolations, DTrackTimeBased::extrapolations, DTrackTimeBased::fdc_hit_usage, DTrackFitter::FindHitsAndFitTrack(), fitter, DTrackFitter::FitTrack(), DTrackTimeBased::FLAG__GOODFIT, DTrackTimeBased::FLAG__USED_WIREBASED_FIT, DTrackTimeBased::flags, DTrackWireBased::FOM, DTrackTimeBased::FOM, DTrackFitter::GetCDCFitHits(), DTrackFitter::GetChisq(), DTrackFitter::GetExtrapolations(), DTrackFitter::GetFDCFitHits(), DTrackFitter::GetFitParameters(), DTrackFitter::GetIsSmoothed(), DTrackFitter::GetNdof(), DTrackFitter::GetNumPotentialCDCHits(), DTrackFitter::GetNumPotentialFDCHits(), DTrackFitter::GetPulls(), DTrackTimeBased::hit_usage_t::inner_layer, DTrackTimeBased::IsSmoothed, DTrackFitter::kFitFailed, DTrackFitter::kFitNoImprovement, DTrackFitter::kFitNotDone, DTrackFitter::kFitSuccess, DTrackFitter::kTimeBased, DTrackTimeBased::measured_cdc_hits_on_track, DTrackTimeBased::measured_fdc_hits_on_track, DKinematicData::momentum(), DTrackWireBased::Ndof, DTrackTimeBased::Ndof, DTrackTimeBased::hit_usage_t::outer_layer, DKinematicData::position(), DTrackTimeBased::potential_cdc_hits_on_track, DTrackTimeBased::potential_fdc_hits_on_track, DTrackWireBased::pulls, DTrackTimeBased::pulls, DTrackFitter::Reset(), DTrackFitter::SetFitType(), DTrackingData::setT0(), DKinematicData::setTime(), DTrackTimeBased::start_times, SYS_BCAL, SYS_CDC, SYS_FCAL, SYS_FDC, SYS_TOF, temp, DTrackTimeBased::hit_usage_t::total_hits, and DTrackTimeBased::trackid.

jerror_t DTrackTimeBased_factory::erun ( void  )
private

Called everytime run number changes, provided brun has been called.

Definition at line 349 of file DTrackTimeBased_factory.cc.

jerror_t DTrackTimeBased_factory::evnt ( jana::JEventLoop *  loop,
uint64_t  eventnumber 
)
private

Called every event.

Definition at line 246 of file DTrackTimeBased_factory.cc.

References fitter, Get_NumTrackHits(), and DKinematicData::mass().

void DTrackTimeBased_factory::FilterDuplicates ( void  )
private

Look through all current DTrackTimeBased objects and remove any that have most of their hits in common with another track

Definition at line 365 of file DTrackTimeBased_factory.cc.

References _DBG_, DTrackTimeBased::candidateid, count_common_members(), DTrackTimeBased_cmp(), DTrackTimeBased::FOM, and total.

jerror_t DTrackTimeBased_factory::fini ( void  )
private

Called after last event of last event source has been processed.

Definition at line 357 of file DTrackTimeBased_factory.cc.

int DTrackTimeBased_factory::GetThrownIndex ( vector< const DMCThrown * > &  locMCThrowns,
const DKinematicData kd,
double &  f 
)
private

Definition at line 564 of file DTrackTimeBased_factory.cc.

double DTrackTimeBased_factory::GetTruthMatchingFOM ( int  trackIndex,
DTrackTimeBased dtrack,
vector< const DMCThrown * >  mcthrowns 
)
private
jerror_t DTrackTimeBased_factory::init ( void  )
private

Called once at program start.

Definition at line 64 of file DTrackTimeBased_factory.cc.

References AntiProton, Electron, fitter, KMinus, KPlus, ParticleCharge(), PiMinus, PiPlus, Positron, Proton, and SplitString().

bool DTrackTimeBased_factory::InsertMissingHypotheses ( JEventLoop *  loop)
private

Definition at line 1129 of file DTrackTimeBased_factory.cc.

References DTrackTimeBased_cmp().

Member Data Documentation

TH2F* DTrackTimeBased_factory::chi2_trk_mom
private

Definition at line 61 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::DEBUG_HISTS
private

Definition at line 47 of file DTrackTimeBased_factory.h.

int DTrackTimeBased_factory::DEBUG_LEVEL
private

Definition at line 48 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::dIsNoFieldFlag
private

Definition at line 97 of file DTrackTimeBased_factory.h.

DTrackFitter* DTrackTimeBased_factory::fitter
private

Definition at line 52 of file DTrackTimeBased_factory.h.

TH1F* DTrackTimeBased_factory::fom
private

Definition at line 59 of file DTrackTimeBased_factory.h.

TH1F* DTrackTimeBased_factory::fom_chi2_trk
private

Definition at line 58 of file DTrackTimeBased_factory.h.

const DGeometry* DTrackTimeBased_factory::geom
private

Definition at line 90 of file DTrackTimeBased_factory.h.

TH1F* DTrackTimeBased_factory::hitMatchFOM
private

Definition at line 60 of file DTrackTimeBased_factory.h.

TH2F* DTrackTimeBased_factory::Hstart_time
private

Definition at line 62 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::INSERT_MISSING_HYPOTHESES
private

Definition at line 97 of file DTrackTimeBased_factory.h.

vector<int> DTrackTimeBased_factory::mass_hypotheses_negative
private

Definition at line 55 of file DTrackTimeBased_factory.h.

vector<int> DTrackTimeBased_factory::mass_hypotheses_positive
private

Definition at line 54 of file DTrackTimeBased_factory.h.

int DTrackTimeBased_factory::mNumHypMinus
private

Definition at line 96 of file DTrackTimeBased_factory.h.

int DTrackTimeBased_factory::mNumHypPlus
private

Definition at line 96 of file DTrackTimeBased_factory.h.

DetectorSystem_t DTrackTimeBased_factory::mStartDetector
private

Definition at line 95 of file DTrackTimeBased_factory.h.

double DTrackTimeBased_factory::mStartTime
private

Definition at line 93 of file DTrackTimeBased_factory.h.

int DTrackTimeBased_factory::myevt
private

Definition at line 110 of file DTrackTimeBased_factory.h.

const DParticleID* DTrackTimeBased_factory::pid_algorithm
private

Definition at line 53 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::PID_FORCE_TRUTH
private

Definition at line 49 of file DTrackTimeBased_factory.h.

vector<DVector3> DTrackTimeBased_factory::sc_norm
private

Definition at line 108 of file DTrackTimeBased_factory.h.

vector<DVector3> DTrackTimeBased_factory::sc_pos
private

Definition at line 107 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::USE_BCAL_TIME
private

Definition at line 100 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::USE_FCAL_TIME
private

Definition at line 99 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::USE_HITS_FROM_WIREBASED_FIT
private

Definition at line 50 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::USE_SC_TIME
private

Definition at line 98 of file DTrackTimeBased_factory.h.

bool DTrackTimeBased_factory::USE_TOF_TIME
private

Definition at line 101 of file DTrackTimeBased_factory.h.


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