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

#include <analysis/blob/master/ElectronID/src/ElectronID.h>

+ Inheritance diagram for ElectronID:
+ Collaboration diagram for ElectronID:

Public Member Functions

 ElectronID (const std::string &name="ElectronID", const std::string &filename="_ElectronID.root")
 
virtual ~ElectronID ()
 
int Init (PHCompositeNode *topNode)
 
int InitRun (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
int End (PHCompositeNode *topNode)
 Called at the end of all processing.
 
void setEMOPcutlimits (float EMOPlowerlimit, float EMOPhigherlimit)
 Set the cemce3x3/p cut limits for electrons; default: 0.7<cemce3x3/p<100.0, means without cuts.
 
void setHinOEMcutlimit (float HinOEMhigherlimit)
 Set the hcaline3x3/cemce3x3 cut limit for electrons; default: hcaline3x3/cemce3x3<100.0, means without cut.
 
void setPtcutlimit (float Ptlowerlimit, float Pthigherlimit)
 Set the pt cut limit for Upsilon decay electrons; default: 0.0<pt<100.0 GeV, means without cut.
 
void setHOPcutlimit (float HOPlowerlimit)
 Set the (hcaline3x3+hcaloute3x3)/p cut lower limit for hadrons; default: 0.0<(hcaline3x3+hcaloute3x3)/p, means without cut.
 
void setTrackcutlimits (int Nmvtxlowerlimit, int Ninttlowerlimit, int Ntpclowerlimit, float Nqualityhigherlimit)
 Set the track cut limits; default: nmvtx>=2, nintt>=0, ntpc>=20; quality<5.
 
void setPROBcut (float tmp)
 set "prob" variable cut
 
void set_output_ntuple (bool outputntuple)
 
void setBDTcut (int isuseBDT_p, int isuseBDT_n, float bdtcut_p, float bdtcut_n)
 set MVA cut
 
- 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.
 

Protected Attributes

bool output_ntuple
 
TFile * OutputNtupleFile
 
std::string OutputFileName
 
TNtuple * ntpBDTresponse
 
TNtuple * ntpbeforecut
 
TNtuple * ntpcutEMOP
 
TNtuple * ntpcutEMOP_HinOEM
 
TNtuple * ntpcutEMOP_HinOEM_Pt
 
TNtuple * ntpcutEMOP_HinOEM_Pt_read
 
TNtuple * ntpcutBDT_read
 
TNtuple * ntpcutHOP
 
int EventNumber
 

Private Member Functions

int GetNodes (PHCompositeNode *topNode)
 fetch node pointers
 
PHG4ParticlefindMCmatch (SvtxTrack *track, PHG4TruthInfoContainer *truth_container)
 

Private Attributes

TrackPidAssoc_track_pid_assoc
 
SvtxTrackMap_track_map
 
float EMOP_lowerlimit
 A float lower limit for cutting on cemce3x3/p.
 
float EMOP_higherlimit
 A float higher limit for cutting on cemce3x3/p.
 
float PROB_cut
 "prob" variable cut
 
float HinOEM_higherlimit
 A float higher limit for cutting on hcaline3x3/cemce3x3.
 
float Pt_lowerlimit
 A float lower limit for cutting on pt.
 
float Pt_higherlimit
 A float higher limit for cutting on pt.
 
float HOP_lowerlimit
 A float lower limit for cutting on (hcaline3x3+hcaloute3x3)/p.
 
int Nmvtx_lowerlimit
 A float lower limit for cutting on nmvtx.
 
int Nintt_lowerlimit
 A float lower limit for cutting on nintt.
 
int Ntpc_lowerlimit
 A float lower limit for cutting on ntpc.
 
float Nquality_higherlimit
 A float higher limit for cutting on quality.
 
float BDT_cut_p
 MVA cut.
 
float BDT_cut_n
 
int ISUSE_BDT_p
 
int ISUSE_BDT_n
 
unsigned int _nlayers_maps = 3
 
unsigned int _nlayers_intt = 4
 
unsigned int _nlayers_tpc = 48
 

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 38 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 38 of file ElectronID.h

Constructor & Destructor Documentation

ElectronID::ElectronID ( const std::string &  name = "ElectronID",
const std::string &  filename = "_ElectronID.root" 
)
ElectronID::~ElectronID ( )
virtual

Definition at line 100 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 100 of file ElectronID.cc

Member Function Documentation

int ElectronID::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 642 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 642 of file ElectronID.cc

References cd(), Close(), Fun4AllReturnCodes::EVENT_OK, output_ntuple, OutputNtupleFile, and Write().

+ Here is the call graph for this function:

PHG4Particle * ElectronID::findMCmatch ( SvtxTrack track,
PHG4TruthInfoContainer truth_container 
)
private

Definition at line 604 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 604 of file ElectronID.cc

References eta, PHG4Particle::get_px(), SvtxTrack::get_px(), PHG4Particle::get_py(), SvtxTrack::get_py(), PHG4Particle::get_pz(), SvtxTrack::get_pz(), PHG4Particle::get_track_id(), geta, PHG4TruthInfoContainer::GetPrimaryParticleRange(), gpx, gpy, gpz, ActsTests::PropagationDatasets::phi, and physmon_track_finding_ttbar::pt.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ElectronID::GetNodes ( PHCompositeNode topNode)
private

fetch node pointers

Definition at line 566 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 566 of file ElectronID.cc

References _track_map, _track_pid_assoc, Fun4AllReturnCodes::ABORTEVENT, PHCompositeNode::addNode(), Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), PHWHERE, and Fun4AllBase::Verbosity().

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ElectronID::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 104 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 104 of file ElectronID.cc

References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), ntpBDTresponse, ntpbeforecut, ntpcutBDT_read, ntpcutEMOP, ntpcutEMOP_HinOEM, ntpcutEMOP_HinOEM_Pt, ntpcutEMOP_HinOEM_Pt_read, ntpcutHOP, output_ntuple, OutputFileName, OutputNtupleFile, and PHWHERE.

+ Here is the call graph for this function:

int ElectronID::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 135 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 135 of file ElectronID.cc

References Fun4AllReturnCodes::EVENT_OK, and GetNodes().

+ Here is the call graph for this function:

int ElectronID::process_event ( PHCompositeNode )
virtual

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

Reimplemented from SubsysReco.

Definition at line 143 of file ElectronID.cc.

View newest version in sPHENIX GitHub at line 143 of file ElectronID.cc

References _nlayers_intt, _nlayers_maps, _nlayers_tpc, _track_map, _track_pid_assoc, Fun4AllReturnCodes::ABORTEVENT, TrackPidAssoc::addAssoc(), BDT_cut_n, BDT_cut_p, SvtxTrackMap::begin(), SvtxTrack::begin_cluster_keys(), Enable::CEMC, charge(), TrackPidAssoc::electron, EMOP_higherlimit, EMOP_lowerlimit, SvtxTrackMap::end(), SvtxTrack::end_cluster_keys(), eta, Fun4AllReturnCodes::EVENT_OK, EventNumber, Fill(), findMCmatch(), SvtxTrackMap::get(), SvtxTrack::get_cal_cluster_e(), SvtxTrack::get_cal_cluster_id(), SvtxTrack::get_cal_energy_3x3(), SvtxTrack::get_charge(), RawCluster::get_chi2(), RawCluster::get_ecore(), SvtxTrack::get_p(), PHG4Particle::get_parent_id(), PHG4Particle::get_pid(), PHG4Particle::get_primary_id(), RawCluster::get_prob(), PHG4Particle::get_px(), SvtxTrack::get_px(), PHG4Particle::get_py(), SvtxTrack::get_py(), PHG4Particle::get_pz(), SvtxTrack::get_quality(), PHG4Particle::get_track_id(), SvtxTrack::get_vertex_id(), SvtxTrack::get_z(), RawClusterContainer::getCluster(), PHG4TruthInfoContainer::GetNumPrimaryVertexParticles(), PHG4TruthInfoContainer::GetPrimaryParticleRange(), TrackPidAssoc::getTracks(), TrkrDefs::getTrkrId(), gflavor, gpx, gpy, gpz, TrackPidAssoc::hadron, RawTowerDefs::HCALIN, RawTowerDefs::HCALOUT, HinOEM_higherlimit, HOP_lowerlimit, ISUSE_BDT_n, ISUSE_BDT_p, it, Nintt_lowerlimit, Nmvtx_lowerlimit, ntpBDTresponse, ntpbeforecut, Ntpc_lowerlimit, ntpcutBDT_read, ntpcutEMOP, ntpcutEMOP_HinOEM, ntpcutEMOP_HinOEM_Pt, ntpcutHOP, output_ntuple, merge_hashes::p, ActsTests::PropagationDatasets::phi, PHWHERE, train_ambiguity_solver::pid, prefix, physmon_track_finding_ttbar::pt, Pt_higherlimit, Pt_lowerlimit, PHG4TruthInfoContainer::size(), Fun4AllBase::Verbosity(), and physmon_track_finding_ttbar::z.

+ Here is the call graph for this function:

void ElectronID::set_output_ntuple ( bool  outputntuple)
inline

Definition at line 72 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 72 of file ElectronID.h

References output_ntuple.

Referenced by run().

+ Here is the caller graph for this function:

void ElectronID::setBDTcut ( int  isuseBDT_p,
int  isuseBDT_n,
float  bdtcut_p,
float  bdtcut_n 
)
inline

set MVA cut

Definition at line 75 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 75 of file ElectronID.h

References BDT_cut_n, BDT_cut_p, ISUSE_BDT_n, and ISUSE_BDT_p.

Referenced by run().

+ Here is the caller graph for this function:

void ElectronID::setEMOPcutlimits ( float  EMOPlowerlimit,
float  EMOPhigherlimit 
)
inline

Set the cemce3x3/p cut limits for electrons; default: 0.7<cemce3x3/p<100.0, means without cuts.

Definition at line 50 of file ElectronID.h.

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

References EMOP_higherlimit, and EMOP_lowerlimit.

Referenced by run(), and runall().

+ Here is the caller graph for this function:

void ElectronID::setHinOEMcutlimit ( float  HinOEMhigherlimit)
inline

Set the hcaline3x3/cemce3x3 cut limit for electrons; default: hcaline3x3/cemce3x3<100.0, means without cut.

Definition at line 53 of file ElectronID.h.

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

References HinOEM_higherlimit.

Referenced by run(), and runall().

+ Here is the caller graph for this function:

void ElectronID::setHOPcutlimit ( float  HOPlowerlimit)
inline

Set the (hcaline3x3+hcaloute3x3)/p cut lower limit for hadrons; default: 0.0<(hcaline3x3+hcaloute3x3)/p, means without cut.

Definition at line 59 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 59 of file ElectronID.h

References HOP_lowerlimit.

Referenced by run(), and runall().

+ Here is the caller graph for this function:

void ElectronID::setPROBcut ( float  tmp)
inline

set "prob" variable cut

Definition at line 70 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 70 of file ElectronID.h

References PROB_cut, and Acts::Test::tmp().

+ Here is the call graph for this function:

void ElectronID::setPtcutlimit ( float  Ptlowerlimit,
float  Pthigherlimit 
)
inline

Set the pt cut limit for Upsilon decay electrons; default: 0.0<pt<100.0 GeV, means without cut.

Definition at line 56 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 56 of file ElectronID.h

References Pt_higherlimit, and Pt_lowerlimit.

Referenced by run(), and runall().

+ Here is the caller graph for this function:

void ElectronID::setTrackcutlimits ( int  Nmvtxlowerlimit,
int  Ninttlowerlimit,
int  Ntpclowerlimit,
float  Nqualityhigherlimit 
)
inline

Set the track cut limits; default: nmvtx>=2, nintt>=0, ntpc>=20; quality<5.

Definition at line 62 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 62 of file ElectronID.h

References Nintt_lowerlimit, Nmvtx_lowerlimit, Nquality_higherlimit, and Ntpc_lowerlimit.

Referenced by run().

+ Here is the caller graph for this function:

Member Data Documentation

unsigned int ElectronID::_nlayers_intt = 4
private

Definition at line 140 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 140 of file ElectronID.h

Referenced by process_event().

unsigned int ElectronID::_nlayers_maps = 3
private

Definition at line 139 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 139 of file ElectronID.h

Referenced by process_event().

unsigned int ElectronID::_nlayers_tpc = 48
private

Definition at line 141 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 141 of file ElectronID.h

Referenced by process_event().

SvtxTrackMap* ElectronID::_track_map
private

Definition at line 102 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 102 of file ElectronID.h

Referenced by GetNodes(), and process_event().

TrackPidAssoc* ElectronID::_track_pid_assoc
private

Definition at line 101 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 101 of file ElectronID.h

Referenced by GetNodes(), and process_event().

float ElectronID::BDT_cut_n
private

Definition at line 136 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 136 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setBDTcut().

float ElectronID::BDT_cut_p
private

MVA cut.

Definition at line 136 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 136 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setBDTcut().

float ElectronID::EMOP_higherlimit
private

A float higher limit for cutting on cemce3x3/p.

Definition at line 107 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 107 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setEMOPcutlimits().

float ElectronID::EMOP_lowerlimit
private

A float lower limit for cutting on cemce3x3/p.

Definition at line 105 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 105 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setEMOPcutlimits().

int ElectronID::EventNumber
protected

Definition at line 93 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 93 of file ElectronID.h

Referenced by ElectronID(), and process_event().

float ElectronID::HinOEM_higherlimit
private

A float higher limit for cutting on hcaline3x3/cemce3x3.

Definition at line 113 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 113 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setHinOEMcutlimit().

float ElectronID::HOP_lowerlimit
private

A float lower limit for cutting on (hcaline3x3+hcaloute3x3)/p.

Definition at line 121 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 121 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setHOPcutlimit().

int ElectronID::ISUSE_BDT_n
private

Definition at line 137 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 137 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setBDTcut().

int ElectronID::ISUSE_BDT_p
private

Definition at line 137 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 137 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setBDTcut().

int ElectronID::Nintt_lowerlimit
private

A float lower limit for cutting on nintt.

Definition at line 127 of file ElectronID.h.

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

Referenced by ElectronID(), process_event(), and setTrackcutlimits().

int ElectronID::Nmvtx_lowerlimit
private

A float lower limit for cutting on nmvtx.

Definition at line 124 of file ElectronID.h.

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

Referenced by ElectronID(), process_event(), and setTrackcutlimits().

float ElectronID::Nquality_higherlimit
private

A float higher limit for cutting on quality.

Definition at line 133 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 133 of file ElectronID.h

Referenced by ElectronID(), and setTrackcutlimits().

TNtuple* ElectronID::ntpBDTresponse
protected

Definition at line 83 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 83 of file ElectronID.h

Referenced by Init(), and process_event().

TNtuple* ElectronID::ntpbeforecut
protected

Definition at line 84 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 84 of file ElectronID.h

Referenced by Init(), and process_event().

int ElectronID::Ntpc_lowerlimit
private

A float lower limit for cutting on ntpc.

Definition at line 130 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 130 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setTrackcutlimits().

TNtuple* ElectronID::ntpcutBDT_read
protected

Definition at line 89 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 89 of file ElectronID.h

Referenced by Init(), and process_event().

TNtuple* ElectronID::ntpcutEMOP
protected

Definition at line 85 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 85 of file ElectronID.h

Referenced by Init(), and process_event().

TNtuple* ElectronID::ntpcutEMOP_HinOEM
protected

Definition at line 86 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 86 of file ElectronID.h

Referenced by Init(), and process_event().

TNtuple* ElectronID::ntpcutEMOP_HinOEM_Pt
protected

Definition at line 87 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 87 of file ElectronID.h

Referenced by Init(), and process_event().

TNtuple* ElectronID::ntpcutEMOP_HinOEM_Pt_read
protected

Definition at line 88 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 88 of file ElectronID.h

Referenced by Init().

TNtuple* ElectronID::ntpcutHOP
protected

Definition at line 91 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 91 of file ElectronID.h

Referenced by Init(), and process_event().

bool ElectronID::output_ntuple
protected

Definition at line 79 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 79 of file ElectronID.h

Referenced by ElectronID(), End(), Init(), process_event(), and set_output_ntuple().

std::string ElectronID::OutputFileName
protected

Definition at line 82 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 82 of file ElectronID.h

Referenced by ElectronID(), and Init().

TFile* ElectronID::OutputNtupleFile
protected

Definition at line 81 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 81 of file ElectronID.h

Referenced by ElectronID(), End(), and Init().

float ElectronID::PROB_cut
private

"prob" variable cut

Definition at line 110 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 110 of file ElectronID.h

Referenced by ElectronID(), and setPROBcut().

float ElectronID::Pt_higherlimit
private

A float higher limit for cutting on pt.

Definition at line 118 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 118 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setPtcutlimit().

float ElectronID::Pt_lowerlimit
private

A float lower limit for cutting on pt.

Definition at line 116 of file ElectronID.h.

View newest version in sPHENIX GitHub at line 116 of file ElectronID.h

Referenced by ElectronID(), process_event(), and setPtcutlimit().


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