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

#include <DEventProcessor_trackeff_hists2.h>

+ Inheritance diagram for DEventProcessor_trackeff_hists2:

Public Member Functions

 DEventProcessor_trackeff_hists2 ()
 
 ~DEventProcessor_trackeff_hists2 ()
 
bool Search_ChargedTrackHypotheses (JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown)
 
bool Search_WireBasedTracks (JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown)
 
bool Search_TrackCandidates (JEventLoop *loop, uint64_t eventnumber, const DMCThrown *mcthrown)
 

Public Attributes

TTree * trkeff
 
track2 trk
 
track2trk_ptr
 

Private Member Functions

jerror_t init (void)
 Invoked via DEventProcessor virtual method. More...
 
jerror_t brun (JEventLoop *loop, int32_t runnumber)
 
jerror_t evnt (JEventLoop *loop, uint64_t eventnumber)
 Invoked via DEventProcessor virtual method. More...
 
jerror_t erun (void)
 Invoked via DEventProcessor virtual method. More...
 
jerror_t fini (void)
 Invoked via DEventProcessor virtual method. More...
 
bool isReconstructable (const DMCThrown *mcthrown, vector< const DMCTrajectoryPoint * > &mctrajpoints)
 
void FindLR (vector< const DCoordinateSystem * > &wires, const DReferenceTrajectory *crt, vector< int > &LRhits)
 
void FindLR (vector< const DCoordinateSystem * > &wires, vector< const DMCTrajectoryPoint * > &trajpoints, vector< int > &LRhits)
 

Private Attributes

bool use_rt_thrown
 
DTrackingResolutiontrkres
 
pthread_mutex_t mutex
 
DReferenceTrajectoryrt_thrown
 
double CDCZmin
 
double CDCZmax
 
int DEBUG
 

Detailed Description

Definition at line 55 of file DEventProcessor_trackeff_hists2.h.

Constructor & Destructor Documentation

DEventProcessor_trackeff_hists2::DEventProcessor_trackeff_hists2 ( )

Definition at line 24 of file DEventProcessor_trackeff_hists2.cc.

DEventProcessor_trackeff_hists2::~DEventProcessor_trackeff_hists2 ( )

Definition at line 37 of file DEventProcessor_trackeff_hists2.cc.

Member Function Documentation

jerror_t DEventProcessor_trackeff_hists2::brun ( JEventLoop *  loop,
int32_t  runnumber 
)
private
jerror_t DEventProcessor_trackeff_hists2::erun ( void  )
private

Invoked via DEventProcessor virtual method.

Definition at line 92 of file DEventProcessor_trackeff_hists2.cc.

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

Invoked via DEventProcessor virtual method.

Definition at line 108 of file DEventProcessor_trackeff_hists2.cc.

References _DBG_, DKinematicData::charge(), japp, DKinematicData::momentum(), DKinematicData::position(), trkeff(), and DMCThrown::type.

void DEventProcessor_trackeff_hists2::FindLR ( vector< const DCoordinateSystem * > &  wires,
const DReferenceTrajectory crt,
vector< int > &  LRhits 
)
private

Fill the vector LRhits with +1 or -1 values indicating the side of each wire in the "wires" vector the given reference trajectory passed on.

Definition at line 537 of file DEventProcessor_trackeff_hists2.cc.

References DReferenceTrajectory::DistToRT(), DReferenceTrajectory::GetLastDistAlongWire(), DReferenceTrajectory::GetLastDOCAPoint(), DCoordinateSystem::origin, u, and DCoordinateSystem::udir.

void DEventProcessor_trackeff_hists2::FindLR ( vector< const DCoordinateSystem * > &  wires,
vector< const DMCTrajectoryPoint * > &  trajpoints,
vector< int > &  LRhits 
)
private

Fill the vector LRhits with +1 or -1 values indicating the side of each wire in the "wires" vector the particle swum by GEANT passed on according to the closest DMCTrajectoryPoint.

Definition at line 565 of file DEventProcessor_trackeff_hists2.cc.

jerror_t DEventProcessor_trackeff_hists2::fini ( void  )
private

Invoked via DEventProcessor virtual method.

Definition at line 100 of file DEventProcessor_trackeff_hists2.cc.

jerror_t DEventProcessor_trackeff_hists2::init ( void  )
private

Invoked via DEventProcessor virtual method.

Definition at line 45 of file DEventProcessor_trackeff_hists2.cc.

References DEBUG, dir, and trkeff().

bool DEventProcessor_trackeff_hists2::isReconstructable ( const DMCThrown mcthrown,
vector< const DMCTrajectoryPoint * > &  mctrajpoints 
)
private

In order to test the efficiency of the finder/fitter, we must first determine whether a track is "reconstructible" or not. (See COMPASS-Note 2004-1 section 5.1 and Mankel Rep. Prog. Phys. 67 (2004) 553-622 section 2.5.1)

We do this here by checking if the "death" point of the track is inside or outside of some inner volume of the detector. Specifically, if the death point is outside of a cylinder of radius 45cm and z-extent covering from the upstream end of the CDC to the downstream end of the 2nd FDC package. This ensures that it either passes through the first 2 layers of the outermost axial superlayer of the CDC or, the first 2 packages of the FDC.

Note that the beam hole is not considered here. It is assumed that efficiency plots will be made either with a cut on theta or plotted against theta in order to accomodate that area.

Definition at line 494 of file DEventProcessor_trackeff_hists2.cc.

References DMCThrown::myid, DMCTrajectoryPoint::primary_track, sqrt(), DMCTrajectoryPoint::track, DMCTrajectoryPoint::x, DMCTrajectoryPoint::y, and DMCTrajectoryPoint::z.

bool DEventProcessor_trackeff_hists2::Search_ChargedTrackHypotheses ( JEventLoop *  loop,
uint64_t  eventnumber,
const DMCThrown mcthrown 
)
bool DEventProcessor_trackeff_hists2::Search_TrackCandidates ( JEventLoop *  loop,
uint64_t  eventnumber,
const DMCThrown mcthrown 
)
bool DEventProcessor_trackeff_hists2::Search_WireBasedTracks ( JEventLoop *  loop,
uint64_t  eventnumber,
const DMCThrown mcthrown 
)

Member Data Documentation

double DEventProcessor_trackeff_hists2::CDCZmax
private

Definition at line 85 of file DEventProcessor_trackeff_hists2.h.

double DEventProcessor_trackeff_hists2::CDCZmin
private

Definition at line 85 of file DEventProcessor_trackeff_hists2.h.

int DEventProcessor_trackeff_hists2::DEBUG
private

Definition at line 87 of file DEventProcessor_trackeff_hists2.h.

pthread_mutex_t DEventProcessor_trackeff_hists2::mutex
private

Definition at line 82 of file DEventProcessor_trackeff_hists2.h.

DReferenceTrajectory* DEventProcessor_trackeff_hists2::rt_thrown
private

Definition at line 83 of file DEventProcessor_trackeff_hists2.h.

track2 DEventProcessor_trackeff_hists2::trk

Definition at line 62 of file DEventProcessor_trackeff_hists2.h.

track2* DEventProcessor_trackeff_hists2::trk_ptr

Definition at line 63 of file DEventProcessor_trackeff_hists2.h.

TTree* DEventProcessor_trackeff_hists2::trkeff

Definition at line 61 of file DEventProcessor_trackeff_hists2.h.

DTrackingResolution* DEventProcessor_trackeff_hists2::trkres
private

Definition at line 81 of file DEventProcessor_trackeff_hists2.h.

bool DEventProcessor_trackeff_hists2::use_rt_thrown
private

Definition at line 71 of file DEventProcessor_trackeff_hists2.h.


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