Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RecoConversionEval Class Reference

#include <analysis/blob/master/PhotonConversion/truthconversion/RecoConversionEval.h>

+ Inheritance diagram for RecoConversionEval:
+ Collaboration diagram for RecoConversionEval:

Public Member Functions

 RecoConversionEval (const std::string &name, std::string tmvamethod, std::string tmvapath)
 
 ~RecoConversionEval ()
 
int Init (PHCompositeNode *topNode)
 
int InitRun (PHCompositeNode *topNode)
 
void doNodePointers (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
int End (PHCompositeNode *topNode)
 Called at the end of all processing.
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Reset (PHCompositeNode *)
 Reset.
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event.
 
void Print (const std::string &="ALL") const override
 
- Public Member Functions inherited from Fun4AllBase
virtual ~Fun4AllBase ()
 
virtual const std::string Name () const
 Returns the name of this module.
 
virtual void Name (const std::string &name)
 Sets the name of this module.
 
virtual void Verbosity (const int ival)
 Sets the verbosity of this module (0 by default=quiet).
 
virtual void Verbosity (enu_Verbosity ival)
 Sets the verbosity of this module (0 by default=quiet).
 
virtual int Verbosity () const
 Gets the verbosity of this module.
 

Private Member Functions

bool hasNodePointers () const
 
genfit::GFRaveVertexcorrectSecondaryVertex (genfit::GFRaveVertex *vtx, SvtxTrack *reco1, SvtxTrack *reco2)
 Uses the TMVA method to correct the vtx radius.
 
std::pair< PHGenFit::Track
*, PHGenFit::Track * > 
refitTracks (genfit::GFRaveVertex *vtx, SvtxTrack *reco1, SvtxTrack *reco2)
 Uses _vertexer to refit.
 
TLorentzVector * reconstructPhoton (SvtxTrack *reco1, SvtxTrack *reco2)
 Adds.
 
TLorentzVector * reconstructPhoton (std::pair< PHGenFit::Track *, PHGenFit::Track * > recos)
 Adds the PHGenFit::Tracks into a TLorentVector.
 
bool detaCut (float eta1, float eta2) const
 
bool pairCuts (SvtxTrack *t1, SvtxTrack *t2) const
 
bool hitCuts (SvtxTrack *t1, SvtxTrack *t2) const
 
bool vtxCuts (genfit::GFRaveVertex *vtxCan)
 
bool vtxTrackRZCut (TVector3 recoVertPos, SvtxTrack *track)
 track must be closer in RZ space to the vtx than the cut
 
bool vtxTrackRPhiCut (TVector3 recoVertPos, SvtxTrack *track)
 track must be closer in RPhi space to the vtx than the cut
 
bool vtxRadiusCut (TVector3 recoVertPos)
 vtx radius must be greater than the cut
 
bool photonCuts (TLorentzVector *photon) const
 cut on the reconstructed photon mass and pT
 
bool approachDistance (SvtxTrack *t1, SvtxTrack *t2) const
 

Private Attributes

SvtxTrackMap_allTracks =NULL
 
RawClusterContainer_mainClusterContainer =NULL
 
TrkrClusterContainer_clusterMap =NULL
 
SvtxHitMap * _hitMap =NULL
 
SVReco_vertexer =NULL
 
std::string _fname
 
TFile * _file =NULL
 
TTree * _treeSignal =NULL
 
TTree * _treeBackground =NULL
 
VtxRegressor_regressor =NULL
 
PHG4TruthInfoContainer_truthinfo =NULL
 
float _b_photon_m
 
float _b_photon_pT
 
float _b_photon_eta
 
float _b_photon_phi
 
float _b_track1_pT
 
float _b_track2_pT
 
bool _b_refit
 
unsigned totalTracks =0
 
unsigned passedpTEtaQ =0
 
unsigned passedCluster =0
 
unsigned passedPair =0
 
unsigned passedVtx =0
 
unsigned passedPhoton =0
 
unsigned int _kNSiliconLayer =7
 
float _kTrackPtCut =2.5
 
float _kEMProbCut =.0
 
float _kVtxRCut =1.84
 
float _kDetaCut =.008
 
float _kPhotonMmin =.27
 
float _kPhotonMmax =8.
 
float _kPhotonPTmin =0.039
 
int _kDLayerCut =9
 
float _kFirstHit =1
 
float _kFirstHitStrict =1
 
double _kApprochCut =30
 
float _kVtxRPhiCut =.4
 
float _kVtxRZCut =.4
 
float _kVtxChi2Cut =.4
 
float _kElectronRestM =.005109989461
 

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 = std::numeric_limits<int>::max() - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 31 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 31 of file RecoConversionEval.h

Constructor & Destructor Documentation

RecoConversionEval::RecoConversionEval ( const std::string &  name,
std::string  tmvamethod,
std::string  tmvapath 
)

Definition at line 38 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 38 of file RecoConversionEval.cc

References _regressor.

RecoConversionEval::~RecoConversionEval ( )

Definition at line 44 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 44 of file RecoConversionEval.cc

References _regressor, and _vertexer.

Member Function Documentation

bool RecoConversionEval::approachDistance ( SvtxTrack t1,
SvtxTrack t2 
) const
private

Definition at line 320 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 320 of file RecoConversionEval.cc

References _kApprochCut, KFPMath::a, KFPMath::b, Acts::PhysicalConstants::c, Acts::UnitConstants::e, eps, SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_pz(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), tc, physmon_ckf_tracking::u, and testSigmaEff::v.

+ Here is the call graph for this function:

genfit::GFRaveVertex * RecoConversionEval::correctSecondaryVertex ( genfit::GFRaveVertex vtx,
SvtxTrack reco1,
SvtxTrack reco2 
)
private

Uses the TMVA method to correct the vtx radius.

Definition at line 198 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 198 of file RecoConversionEval.cc

References _regressor, genfit::GFRaveVertex::getChi2(), genfit::GFRaveVertex::getCov(), genfit::GFRaveVertex::getId(), genfit::GFRaveVertex::getNdf(), genfit::GFRaveVertex::getNTracks(), genfit::GFRaveVertex::getParameters(), genfit::GFRaveVertex::getPos(), i, VtxRegressor::regress(), and tracks().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RecoConversionEval::detaCut ( float  eta1,
float  eta2 
) const
inlineprivate

Definition at line 67 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 67 of file RecoConversionEval.h

References _kDetaCut.

Referenced by pairCuts().

+ Here is the caller graph for this function:

void RecoConversionEval::doNodePointers ( PHCompositeNode topNode)

Definition at line 81 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 81 of file RecoConversionEval.cc

References _allTracks, _clusterMap, _mainClusterContainer, _truthinfo, _vertexer, and SVReco::InitEvent().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int RecoConversionEval::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 305 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 305 of file RecoConversionEval.cc

References _file, _treeBackground, Fun4AllReturnCodes::EVENT_OK, passedCluster, passedPair, passedpTEtaQ, passedVtx, and totalTracks.

bool RecoConversionEval::hasNodePointers ( ) const
private

Definition at line 95 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 95 of file RecoConversionEval.cc

References _allTracks, _mainClusterContainer, and _vertexer.

bool RecoConversionEval::hitCuts ( SvtxTrack t1,
SvtxTrack t2 
) const
private

Check that the radial distance between the first hit of both tracks is less the cut cut should be stricter for pairs with no silicone hits also need to check the approach distance

Definition at line 267 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 267 of file RecoConversionEval.cc

References _clusterMap, _kDLayerCut, SvtxTrack::begin_cluster_keys(), c2, TrkrClusterContainer::findCluster(), TrkrDefs::getLayer(), testSigmaEff::l1, and testSigmaEff::l2.

Referenced by pairCuts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int RecoConversionEval::Init ( PHCompositeNode )
virtual

Called during initialization. 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 50 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 50 of file RecoConversionEval.cc

References Fun4AllReturnCodes::EVENT_OK.

int RecoConversionEval::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 54 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 54 of file RecoConversionEval.cc

References _b_photon_eta, _b_photon_m, _b_photon_phi, _b_photon_pT, _b_refit, _b_track1_pT, _b_track2_pT, _file, _fname, _treeBackground, _treeSignal, _vertexer, Fun4AllReturnCodes::EVENT_OK, SVReco::InitRun(), passedCluster, passedPair, passedPhoton, passedpTEtaQ, passedVtx, and totalTracks.

+ Here is the call graph for this function:

bool RecoConversionEval::pairCuts ( SvtxTrack t1,
SvtxTrack t2 
) const
private

Definition at line 258 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 258 of file RecoConversionEval.cc

References detaCut(), SvtxTrack::get_eta(), and hitCuts().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RecoConversionEval::photonCuts ( TLorentzVector *  photon) const
private

cut on the reconstructed photon mass and pT

Definition at line 262 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 262 of file RecoConversionEval.cc

References _kPhotonMmax, _kPhotonMmin, and _kPhotonPTmin.

Referenced by process_event().

+ Here is the caller graph for this function:

int RecoConversionEval::process_event ( PHCompositeNode )
virtual
TLorentzVector * RecoConversionEval::reconstructPhoton ( SvtxTrack reco1,
SvtxTrack reco2 
)
private

Adds.

Parameters
reco1and
reco2as TLorentzVectors

Definition at line 229 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 229 of file RecoConversionEval.cc

References _kElectronRestM, SvtxTrack::get_p(), SvtxTrack::get_px(), SvtxTrack::get_py(), and SvtxTrack::get_pz().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

TLorentzVector * RecoConversionEval::reconstructPhoton ( std::pair< PHGenFit::Track *, PHGenFit::Track * >  recos)
private

Adds the PHGenFit::Tracks into a TLorentVector.

Definition at line 216 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 216 of file RecoConversionEval.cc

References _kElectronRestM.

std::pair< PHGenFit::Track *, PHGenFit::Track * > RecoConversionEval::refitTracks ( genfit::GFRaveVertex vtx,
SvtxTrack reco1,
SvtxTrack reco2 
)
private

Uses _vertexer to refit.

Parameters
reco1and
reco2

Definition at line 242 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 242 of file RecoConversionEval.cc

References _vertexer, physmon_track_finding_ttbar::r, and SVReco::refitTrack().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RecoConversionEval::vtxCuts ( genfit::GFRaveVertex vtxCan)
private

Definition at line 283 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 283 of file RecoConversionEval.cc

References genfit::GFRaveVertex::getPos(), and vtxRadiusCut().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RecoConversionEval::vtxRadiusCut ( TVector3  recoVertPos)
private

vtx radius must be greater than the cut

Definition at line 301 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 301 of file RecoConversionEval.cc

References _kVtxRCut.

Referenced by vtxCuts().

+ Here is the caller graph for this function:

bool RecoConversionEval::vtxTrackRPhiCut ( TVector3  recoVertPos,
SvtxTrack track 
)
private

track must be closer in RPhi space to the vtx than the cut

Definition at line 295 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 295 of file RecoConversionEval.cc

References _kVtxRPhiCut, SvtxTrack::get_phi(), SvtxTrack::get_x(), and SvtxTrack::get_y().

+ Here is the call graph for this function:

bool RecoConversionEval::vtxTrackRZCut ( TVector3  recoVertPos,
SvtxTrack track 
)
private

track must be closer in RZ space to the vtx than the cut

Definition at line 287 of file RecoConversionEval.cc.

View newest version in sPHENIX GitHub at line 287 of file RecoConversionEval.cc

References _kVtxRZCut, dR(), SvtxTrack::get_x(), SvtxTrack::get_y(), and SvtxTrack::get_z().

+ Here is the call graph for this function:

Member Data Documentation

SvtxTrackMap* RecoConversionEval::_allTracks =NULL
private

Definition at line 44 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 44 of file RecoConversionEval.h

Referenced by doNodePointers(), hasNodePointers(), and process_event().

TrkrClusterContainer* RecoConversionEval::_clusterMap =NULL
private

Definition at line 46 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 46 of file RecoConversionEval.h

Referenced by doNodePointers(), and hitCuts().

TFile* RecoConversionEval::_file =NULL
private

Definition at line 50 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 50 of file RecoConversionEval.h

Referenced by End(), and InitRun().

std::string RecoConversionEval::_fname
private

Definition at line 49 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 49 of file RecoConversionEval.h

Referenced by InitRun().

SvtxHitMap* RecoConversionEval::_hitMap =NULL
private

Definition at line 47 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 47 of file RecoConversionEval.h

double RecoConversionEval::_kApprochCut =30
private

Definition at line 126 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 126 of file RecoConversionEval.h

Referenced by approachDistance().

float RecoConversionEval::_kElectronRestM =.005109989461
private

Definition at line 131 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 131 of file RecoConversionEval.h

Referenced by reconstructPhoton().

float RecoConversionEval::_kFirstHit =1
private

Definition at line 124 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 124 of file RecoConversionEval.h

float RecoConversionEval::_kFirstHitStrict =1
private

Definition at line 125 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 125 of file RecoConversionEval.h

unsigned int RecoConversionEval::_kNSiliconLayer =7
private

Definition at line 111 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 111 of file RecoConversionEval.h

float RecoConversionEval::_kVtxChi2Cut =.4
private

Definition at line 129 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 129 of file RecoConversionEval.h

float RecoConversionEval::_kVtxRPhiCut =.4
private

Definition at line 127 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 127 of file RecoConversionEval.h

Referenced by vtxTrackRPhiCut().

float RecoConversionEval::_kVtxRZCut =.4
private

Definition at line 128 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 128 of file RecoConversionEval.h

Referenced by vtxTrackRZCut().

RawClusterContainer* RecoConversionEval::_mainClusterContainer =NULL
private

Definition at line 45 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 45 of file RecoConversionEval.h

Referenced by doNodePointers(), hasNodePointers(), and process_event().

VtxRegressor* RecoConversionEval::_regressor =NULL
private

Definition at line 53 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 53 of file RecoConversionEval.h

Referenced by correctSecondaryVertex(), RecoConversionEval(), and ~RecoConversionEval().

TTree* RecoConversionEval::_treeBackground =NULL
private

Definition at line 52 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 52 of file RecoConversionEval.h

Referenced by End(), and InitRun().

TTree* RecoConversionEval::_treeSignal =NULL
private

Definition at line 51 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 51 of file RecoConversionEval.h

Referenced by InitRun(), and process_event().

PHG4TruthInfoContainer* RecoConversionEval::_truthinfo =NULL
private

Definition at line 55 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 55 of file RecoConversionEval.h

Referenced by doNodePointers().

SVReco* RecoConversionEval::_vertexer =NULL
private

Definition at line 48 of file RecoConversionEval.h.

View newest version in sPHENIX GitHub at line 48 of file RecoConversionEval.h

Referenced by doNodePointers(), hasNodePointers(), InitRun(), process_event(), refitTracks(), and ~RecoConversionEval().


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