Class Reference for E1039 Core & Analysis Software
SQVertexing_v2 Class Reference

#include </dev/shm/kenichi/update-github-e1039-doc/e1039-analysis/TrackMixingNMSU/src/SQVertexing_v2.h>

+ Inheritance diagram for SQVertexing_v2:
+ Collaboration diagram for SQVertexing_v2:

Public Member Functions

 SQVertexing_v2 (const std::string &name="SQVertexing_v2", int sign1=1, int sign2=-1)
 
 ~SQVertexing_v2 ()
 
int Init (PHCompositeNode *topNode)
 
int InitRun (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
int End (PHCompositeNode *topNode)
 Called at the end of all processing. More...
 
void InitVar ()
 
void set_legacy_rec_container (const bool enable=true)
 
void set_legacy_in_container (const bool enable=true)
 
void set_legacy_out_container (const bool enable=true)
 
void set_single_retracking (const bool enable=true)
 
void set_geom_file_name (const std::string &geomFileName)
 
int InitField (PHCompositeNode *topNode)
 
int InitField ()
 
int InitGeom (PHCompositeNode *topNode)
 
int InitGeom ()
 
int MakeNodes (PHCompositeNode *topNode)
 
int GetNodes (PHCompositeNode *topNode)
 
double swimTrackToVertex (SQGenFit::GFTrack &track, double z, TVector3 *pos=nullptr, TVector3 *mom=nullptr)
 
double refitTrkToVtx (SQGenFit::GFTrack &track, double z, TVector3 *pos=nullptr, TVector3 *mom=nullptr)
 
double refitTrkToVtx (SRecTrack *track, double z, TVector3 *pos=nullptr, TVector3 *mom=nullptr)
 
double findDimuonZVertex (SRecDimuon &dimuon, SQGenFit::GFTrack &track1, SQGenFit::GFTrack &track2)
 
double calcZsclp (double p)
 
bool processOneDimuon (SRecTrack *track1, SRecTrack *track2, SRecDimuon &dimuon)
 
bool processOneMuon (SRecTrack *track)
 
- Public Member Functions inherited from SubsysReco
virtual ~SubsysReco ()
 
virtual int EndRun (const int)
 Called at the end of each run. More...
 
virtual int Reset (PHCompositeNode *)
 Reset. More...
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event. More...
 
virtual void Print (const std::string &what="ALL") const
 
- Public Member Functions inherited from Fun4AllBase
virtual ~Fun4AllBase ()
 
virtual const std::string Name () const
 Returns the name of this module. More...
 
virtual void Name (const std::string &name)
 Sets the name of this module. More...
 
virtual void Verbosity (const int ival)
 Sets the verbosity of this module (0 by default=quiet). More...
 
virtual void Verbosity (enu_Verbosity ival)
 Sets the verbosity of this module (0 by default=quiet). More...
 
virtual int Verbosity () const
 Gets the verbosity of this module. More...
 

Public Attributes

bool legacyContainer_in
 
bool legacyContainer_out
 
bool enableSingleRetracking
 
int charge1
 
int charge2
 
std::string geom_file_name
 
SQGenFit::GFFieldgfield
 
SRecEventrecEvent
 
SQTrackVectorrecTrackVec
 
SQDimuonVectorrecDimuonVec
 

Additional Inherited Members

- Public Types inherited from Fun4AllBase
enum  enu_Verbosity {
  VERBOSITY_QUIET = 0 , VERBOSITY_SOME = 1 , VERBOSITY_MORE = 2 , VERBOSITY_EVEN_MORE = 3 ,
  VERBOSITY_A_LOT = 4 , VERBOSITY_MAX = INT_MAX - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 
- Protected Member Functions inherited from Fun4AllBase
 Fun4AllBase (const std::string &name="NONAME")
 
- Protected Attributes inherited from Fun4AllBase
std::string ThisName
 
int verbosity
 The verbosity level. 0 means not verbose at all. More...
 

Detailed Description

Definition at line 20 of file SQVertexing_v2.h.

Constructor & Destructor Documentation

◆ SQVertexing_v2()

SQVertexing_v2::SQVertexing_v2 ( const std::string &  name = "SQVertexing_v2",
int  sign1 = 1,
int  sign2 = -1 
)

Definition at line 63 of file SQVertexing_v2.cc.

◆ ~SQVertexing_v2()

SQVertexing_v2::~SQVertexing_v2 ( )

Definition at line 77 of file SQVertexing_v2.cc.

Member Function Documentation

◆ calcZsclp()

double SQVertexing_v2::calcZsclp ( double  p)

Definition at line 250 of file SQVertexing_v2.cc.

Referenced by refitTrkToVtx().

+ Here is the caller graph for this function:

◆ End()

int SQVertexing_v2::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 157 of file SQVertexing_v2.cc.

References Fun4AllReturnCodes::EVENT_OK.

◆ findDimuonZVertex()

double SQVertexing_v2::findDimuonZVertex ( SRecDimuon dimuon,
SQGenFit::GFTrack track1,
SQGenFit::GFTrack track2 
)

Definition at line 355 of file SQVertexing_v2.cc.

References swimTrackToVertex().

Referenced by processOneDimuon().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNodes()

int SQVertexing_v2::GetNodes ( PHCompositeNode topNode)

Definition at line 162 of file SQVertexing_v2.cc.

References Fun4AllReturnCodes::ABORTRUN, Fun4AllReturnCodes::EVENT_OK, legacyContainer_in, legacyContainer_out, Fun4AllBase::Name(), recEvent, and recTrackVec.

Referenced by InitRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Init()

int SQVertexing_v2::Init ( PHCompositeNode )
virtual

Called during initialization, i.e. registered via Fun4AllServer::registerSubsystem(). Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).

Reimplemented from SubsysReco.

Definition at line 85 of file SQVertexing_v2.cc.

References Fun4AllReturnCodes::EVENT_OK.

◆ InitField() [1/2]

int SQVertexing_v2::InitField ( )

Definition at line 391 of file SQVertexing_v2.cc.

References PHFieldUtility::BuildFieldMap(), Fun4AllReturnCodes::EVENT_OK, PHFlag::get_CharFlag(), PHFlag::get_DoubleFlag(), gfield, and recoConsts::instance().

Referenced by InitRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ InitField() [2/2]

int SQVertexing_v2::InitField ( PHCompositeNode topNode)

Referenced by AnaSortMixVertex::DoVertex().

+ Here is the caller graph for this function:

◆ InitGeom() [1/2]

int SQVertexing_v2::InitGeom ( )

Definition at line 424 of file SQVertexing_v2.cc.

References Fun4AllReturnCodes::EVENT_OK, and geom_file_name.

Referenced by InitRun().

+ Here is the caller graph for this function:

◆ InitGeom() [2/2]

int SQVertexing_v2::InitGeom ( PHCompositeNode topNode)

Referenced by AnaSortMixVertex::DoVertex().

+ Here is the caller graph for this function:

◆ InitRun()

int SQVertexing_v2::InitRun ( PHCompositeNode )
virtual

Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.

Reimplemented from SubsysReco.

Definition at line 91 of file SQVertexing_v2.cc.

References Fun4AllReturnCodes::EVENT_OK, GetNodes(), InitField(), InitGeom(), and MakeNodes().

+ Here is the call graph for this function:

◆ InitVar()

void SQVertexing_v2::InitVar ( )

Definition at line 80 of file SQVertexing_v2.cc.

Referenced by AnaSortMixVertex::DoVertex().

+ Here is the caller graph for this function:

◆ MakeNodes()

int SQVertexing_v2::MakeNodes ( PHCompositeNode topNode)

Definition at line 186 of file SQVertexing_v2.cc.

References Fun4AllReturnCodes::ABORTEVENT, PHCompositeNode::addNode(), charge1, charge2, Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), legacyContainer_out, Fun4AllBase::Name(), and recDimuonVec.

Referenced by InitRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ process_event()

int SQVertexing_v2::process_event ( PHCompositeNode )
virtual

Called for each event. This is where you do the real work.

Reimplemented from SubsysReco.

Definition at line 108 of file SQVertexing_v2.cc.

References SQTrackVector::at(), charge1, charge2, SRecEvent::clearDimuons(), Fun4AllReturnCodes::EVENT_OK, SRecTrack::getCharge(), SRecEvent::getNTracks(), SRecEvent::getTrack(), SRecEvent::insertDimuon(), SRecTrack::isKalmanFitted(), legacyContainer_in, legacyContainer_out, processOneDimuon(), processOneMuon(), SQDimuonVector::push_back(), recDimuonVec, recEvent, recTrackVec, SRecDimuon::set_track_id_pos(), SQTrackVector::size(), and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

◆ processOneDimuon()

bool SQVertexing_v2::processOneDimuon ( SRecTrack track1,
SRecTrack track2,
SRecDimuon dimuon 
)

◆ processOneMuon()

bool SQVertexing_v2::processOneMuon ( SRecTrack track)

Definition at line 258 of file SQVertexing_v2.cc.

References enableSingleRetracking, SRecTrack::getVertexPos(), refitTrkToVtx(), SRecTrack::setChisqDump(), SRecTrack::setChisqTarget(), SRecTrack::setChisqUpstream(), SRecTrack::setChisqVertex(), SRecTrack::setVertexFast(), SRecTrack::swimToVertex(), and swimTrackToVertex().

Referenced by process_event().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ refitTrkToVtx() [1/2]

double SQVertexing_v2::refitTrkToVtx ( SQGenFit::GFTrack track,
double  z,
TVector3 *  pos = nullptr,
TVector3 *  mom = nullptr 
)

Definition at line 211 of file SQVertexing_v2.cc.

References calcZsclp(), gfield, SQGenFit::GFField::setOffset(), swimTrackToVertex(), and Fun4AllBase::Verbosity().

Referenced by processOneDimuon(), processOneMuon(), and refitTrkToVtx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ refitTrkToVtx() [2/2]

double SQVertexing_v2::refitTrkToVtx ( SRecTrack track,
double  z,
TVector3 *  pos = nullptr,
TVector3 *  mom = nullptr 
)

Definition at line 244 of file SQVertexing_v2.cc.

References refitTrkToVtx().

+ Here is the call graph for this function:

◆ set_geom_file_name()

void SQVertexing_v2::set_geom_file_name ( const std::string &  geomFileName)
inline

Definition at line 36 of file SQVertexing_v2.h.

References geom_file_name.

Referenced by AnaSortMixVertex::DoVertex().

+ Here is the caller graph for this function:

◆ set_legacy_in_container()

void SQVertexing_v2::set_legacy_in_container ( const bool  enable = true)
inline

Definition at line 32 of file SQVertexing_v2.h.

References legacyContainer_in.

◆ set_legacy_out_container()

void SQVertexing_v2::set_legacy_out_container ( const bool  enable = true)
inline

Definition at line 33 of file SQVertexing_v2.h.

References legacyContainer_out.

◆ set_legacy_rec_container()

void SQVertexing_v2::set_legacy_rec_container ( const bool  enable = true)
inline

Definition at line 31 of file SQVertexing_v2.h.

References legacyContainer_in, and legacyContainer_out.

Referenced by AnaSortMixVertex::DoVertex().

+ Here is the caller graph for this function:

◆ set_single_retracking()

void SQVertexing_v2::set_single_retracking ( const bool  enable = true)
inline

Definition at line 34 of file SQVertexing_v2.h.

References enableSingleRetracking.

◆ swimTrackToVertex()

double SQVertexing_v2::swimTrackToVertex ( SQGenFit::GFTrack track,
double  z,
TVector3 *  pos = nullptr,
TVector3 *  mom = nullptr 
)

Definition at line 205 of file SQVertexing_v2.cc.

References SQGenFit::GFTrack::swimToVertex().

Referenced by findDimuonZVertex(), processOneDimuon(), processOneMuon(), and refitTrkToVtx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ charge1

int SQVertexing_v2::charge1

Definition at line 56 of file SQVertexing_v2.h.

Referenced by MakeNodes(), process_event(), and processOneDimuon().

◆ charge2

int SQVertexing_v2::charge2

Definition at line 56 of file SQVertexing_v2.h.

Referenced by MakeNodes(), process_event(), and processOneDimuon().

◆ enableSingleRetracking

bool SQVertexing_v2::enableSingleRetracking

Definition at line 54 of file SQVertexing_v2.h.

Referenced by processOneMuon(), and set_single_retracking().

◆ geom_file_name

std::string SQVertexing_v2::geom_file_name

Definition at line 58 of file SQVertexing_v2.h.

Referenced by InitGeom(), and set_geom_file_name().

◆ gfield

SQGenFit::GFField* SQVertexing_v2::gfield

Definition at line 59 of file SQVertexing_v2.h.

Referenced by InitField(), and refitTrkToVtx().

◆ legacyContainer_in

bool SQVertexing_v2::legacyContainer_in

◆ legacyContainer_out

bool SQVertexing_v2::legacyContainer_out

◆ recDimuonVec

SQDimuonVector* SQVertexing_v2::recDimuonVec

Definition at line 64 of file SQVertexing_v2.h.

Referenced by MakeNodes(), and process_event().

◆ recEvent

SRecEvent* SQVertexing_v2::recEvent

Definition at line 61 of file SQVertexing_v2.h.

Referenced by GetNodes(), and process_event().

◆ recTrackVec

SQTrackVector* SQVertexing_v2::recTrackVec

Definition at line 62 of file SQVertexing_v2.h.

Referenced by GetNodes(), and process_event().


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