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

#include <analysis/blob/master/HF-Particle/HFTrigger/HFTrigger.h>

+ Inheritance diagram for HFTrigger:
+ Collaboration diagram for HFTrigger:

Public Member Functions

 HFTrigger ()
 
 HFTrigger (const std::string &name)
 
virtual ~HFTrigger ()
 
int Init (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
int End (PHCompositeNode *topNode)
 Called at the end of all processing.
 
bool runTrigger (PHCompositeNode *topNode)
 
bool runOneTrackTrigger (std::vector< Track > Tracks, std::vector< Vertex > Vertices)
 
bool runTwoTrackTrigger (std::vector< Track > Tracks, std::vector< Vertex > Vertices)
 
void calculateMultiplicity (PHCompositeNode *topNode, float &meanMultiplicity, float &asymmetryMultiplicity)
 
bool runHighMultiplicityTrigger (float meanMultiplicity, float asymmetryMultiplicity)
 
bool runLowMultiplicityTrigger (float meanMultiplicity, float asymmetryMultiplicity)
 
Vertex makeVertex (PHCompositeNode *topNode)
 
std::vector< VertexmakeAllPrimaryVertices (PHCompositeNode *topNode)
 
Track makeTrack (PHCompositeNode *topNode)
 
std::vector< TrackmakeAllTracks (PHCompositeNode *topNode)
 
int decomposeTrack (Track track, TrackX &trackPosition, TrackP &trackMomentum)
 
float calcualteTrackVertex2DDCA (Track track, Vertex vertex)
 
float calcualteTrackVertexDCA (Track track, Vertex vertex)
 
float calcualteTrackTrackDCA (Track trackOne, Track trackTwo)
 
void printTrigger ()
 
void requireOneTrackTrigger (bool useTrigger)
 
void requireTwoTrackTrigger (bool useTrigger)
 
void requireLowMultiplicityTrigger (bool useTrigger)
 
void requireHighMultiplicityTrigger (bool useTrigger)
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int InitRun (PHCompositeNode *)
 
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 Attributes

bool m_useOneTrackTrigger = false
 
bool m_useTwoTrackTrigger = false
 
bool m_useLowMultiplicityTrigger = false
 
bool m_useHighMultiplicityTrigger = false
 
SvtxVertexMapm_dst_vertexmap = nullptr
 
SvtxTrackMapm_dst_trackmap = nullptr
 
SvtxVertexm_dst_vertex = nullptr
 
SvtxTrackm_dst_track = nullptr
 

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 HFTrigger.h.

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

Constructor & Destructor Documentation

HFTrigger::HFTrigger ( )

Definition at line 28 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 28 of file HFTrigger.cc

HFTrigger::HFTrigger ( const std::string &  name)
explicit

Definition at line 37 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 37 of file HFTrigger.cc

virtual HFTrigger::~HFTrigger ( )
inlinevirtual

Definition at line 45 of file HFTrigger.h.

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

Member Function Documentation

float HFTrigger::calcualteTrackTrackDCA ( Track  trackOne,
Track  trackTwo 
)

Definition at line 305 of file HFTrigger.cc.

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

References decomposeTrack().

Referenced by runTwoTrackTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

float HFTrigger::calcualteTrackVertex2DDCA ( Track  track,
Vertex  vertex 
)

Definition at line 277 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 277 of file HFTrigger.cc

References decomposeTrack(), and Acts::Test::pos.

+ Here is the call graph for this function:

float HFTrigger::calcualteTrackVertexDCA ( Track  track,
Vertex  vertex 
)

Definition at line 292 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 292 of file HFTrigger.cc

References decomposeTrack(), and Acts::Test::pos.

Referenced by runOneTrackTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HFTrigger::calculateMultiplicity ( PHCompositeNode topNode,
float &  meanMultiplicity,
float &  asymmetryMultiplicity 
)

Definition at line 165 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 165 of file HFTrigger.cc

References TrkrHitSetContainer::getHitSets(), i, TrkrDefs::inttId, and TrkrHitSet::size().

Referenced by runTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int HFTrigger::decomposeTrack ( Track  track,
TrackX trackPosition,
TrackP trackMomentum 
)

Definition at line 266 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 266 of file HFTrigger.cc

References i.

Referenced by calcualteTrackTrackDCA(), calcualteTrackVertex2DDCA(), and calcualteTrackVertexDCA().

+ Here is the caller graph for this function:

int HFTrigger::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 87 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 87 of file HFTrigger.cc

int HFTrigger::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 46 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 46 of file HFTrigger.cc

std::vector< Vertex > HFTrigger::makeAllPrimaryVertices ( PHCompositeNode topNode)

Definition at line 224 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 224 of file HFTrigger.cc

References SvtxVertexMap::begin(), SvtxVertexMap::end(), m_dst_vertex, m_dst_vertexmap, and makeVertex().

Referenced by runTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< Track > HFTrigger::makeAllTracks ( PHCompositeNode topNode)

Definition at line 252 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 252 of file HFTrigger.cc

References SvtxTrackMap::begin(), SvtxTrackMap::end(), m_dst_track, m_dst_trackmap, makeTrack(), and tracks().

Referenced by runTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Track HFTrigger::makeTrack ( PHCompositeNode topNode)

Definition at line 238 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 238 of file HFTrigger.cc

References SvtxTrack::get_px(), SvtxTrack::get_py(), SvtxTrack::get_pz(), SvtxTrack::get_x(), SvtxTrack::get_y(), SvtxTrack::get_z(), and m_dst_track.

Referenced by makeAllTracks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Vertex HFTrigger::makeVertex ( PHCompositeNode topNode)

Definition at line 213 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 213 of file HFTrigger.cc

References SvtxVertex::get_x(), SvtxVertex::get_y(), SvtxVertex::get_z(), and m_dst_vertex.

Referenced by makeAllPrimaryVertices().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void HFTrigger::printTrigger ( )

Definition at line 323 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 323 of file HFTrigger.cc

References m_useHighMultiplicityTrigger, m_useLowMultiplicityTrigger, m_useOneTrackTrigger, and m_useTwoTrackTrigger.

Referenced by runTrigger().

+ Here is the caller graph for this function:

int HFTrigger::process_event ( PHCompositeNode )
virtual

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

Reimplemented from SubsysReco.

Definition at line 51 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 51 of file HFTrigger.cc

References Fun4AllReturnCodes::ABORTEVENT, Fun4AllReturnCodes::EVENT_OK, m_useHighMultiplicityTrigger, m_useLowMultiplicityTrigger, m_useOneTrackTrigger, m_useTwoTrackTrigger, runTrigger(), Fun4AllBase::Verbosity(), Fun4AllBase::VERBOSITY_MORE, and Fun4AllBase::VERBOSITY_SOME.

+ Here is the call graph for this function:

void HFTrigger::requireHighMultiplicityTrigger ( bool  useTrigger)
inline

Definition at line 87 of file HFTrigger.h.

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

References m_useHighMultiplicityTrigger.

void HFTrigger::requireLowMultiplicityTrigger ( bool  useTrigger)
inline

Definition at line 86 of file HFTrigger.h.

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

References m_useLowMultiplicityTrigger.

void HFTrigger::requireOneTrackTrigger ( bool  useTrigger)
inline

Definition at line 84 of file HFTrigger.h.

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

References m_useOneTrackTrigger.

void HFTrigger::requireTwoTrackTrigger ( bool  useTrigger)
inline

Definition at line 85 of file HFTrigger.h.

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

References m_useTwoTrackTrigger.

bool HFTrigger::runHighMultiplicityTrigger ( float  meanMultiplicity,
float  asymmetryMultiplicity 
)

Definition at line 189 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 189 of file HFTrigger.cc

References HFTriggerRequirement::asymmHighMult, and HFTriggerRequirement::meanHighMult.

Referenced by runTrigger().

+ Here is the caller graph for this function:

bool HFTrigger::runLowMultiplicityTrigger ( float  meanMultiplicity,
float  asymmetryMultiplicity 
)

Definition at line 201 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 201 of file HFTrigger.cc

References HFTriggerRequirement::asymmLowMult, and HFTriggerRequirement::meanLowMult.

Referenced by runTrigger().

+ Here is the caller graph for this function:

bool HFTrigger::runOneTrackTrigger ( std::vector< Track Tracks,
std::vector< Vertex Vertices 
)

Definition at line 119 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 119 of file HFTrigger.cc

References calcualteTrackVertexDCA(), Acts::UnitConstants::min, graph_fancy::pT, HFTriggerRequirement::trackPT, and HFTriggerRequirement::trackVertexDCA.

Referenced by runTrigger(), and runTwoTrackTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool HFTrigger::runTrigger ( PHCompositeNode topNode)

Definition at line 92 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 92 of file HFTrigger.cc

References parse_cmake_options::begin, calculateMultiplicity(), fixGDML::element, end, m_useHighMultiplicityTrigger, m_useLowMultiplicityTrigger, m_useOneTrackTrigger, m_useTwoTrackTrigger, makeAllPrimaryVertices(), makeAllTracks(), printTrigger(), runHighMultiplicityTrigger(), runLowMultiplicityTrigger(), runOneTrackTrigger(), runTwoTrackTrigger(), Fun4AllBase::Verbosity(), and Fun4AllBase::VERBOSITY_SOME.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool HFTrigger::runTwoTrackTrigger ( std::vector< Track Tracks,
std::vector< Vertex Vertices 
)

Definition at line 138 of file HFTrigger.cc.

View newest version in sPHENIX GitHub at line 138 of file HFTrigger.cc

References calcualteTrackTrackDCA(), i, j, runOneTrackTrigger(), and HFTriggerRequirement::trackTrackDCA.

Referenced by runTrigger().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

SvtxTrack* HFTrigger::m_dst_track = nullptr
private

Definition at line 99 of file HFTrigger.h.

View newest version in sPHENIX GitHub at line 99 of file HFTrigger.h

Referenced by makeAllTracks(), and makeTrack().

SvtxTrackMap* HFTrigger::m_dst_trackmap = nullptr
private

Definition at line 97 of file HFTrigger.h.

View newest version in sPHENIX GitHub at line 97 of file HFTrigger.h

Referenced by makeAllTracks().

SvtxVertex* HFTrigger::m_dst_vertex = nullptr
private

Definition at line 98 of file HFTrigger.h.

View newest version in sPHENIX GitHub at line 98 of file HFTrigger.h

Referenced by makeAllPrimaryVertices(), and makeVertex().

SvtxVertexMap* HFTrigger::m_dst_vertexmap = nullptr
private

Definition at line 96 of file HFTrigger.h.

View newest version in sPHENIX GitHub at line 96 of file HFTrigger.h

Referenced by makeAllPrimaryVertices().

bool HFTrigger::m_useHighMultiplicityTrigger = false
private

Definition at line 94 of file HFTrigger.h.

View newest version in sPHENIX GitHub at line 94 of file HFTrigger.h

Referenced by printTrigger(), process_event(), requireHighMultiplicityTrigger(), and runTrigger().

bool HFTrigger::m_useLowMultiplicityTrigger = false
private

Definition at line 93 of file HFTrigger.h.

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

Referenced by printTrigger(), process_event(), requireLowMultiplicityTrigger(), and runTrigger().

bool HFTrigger::m_useOneTrackTrigger = false
private

Definition at line 91 of file HFTrigger.h.

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

Referenced by printTrigger(), process_event(), requireOneTrackTrigger(), and runTrigger().

bool HFTrigger::m_useTwoTrackTrigger = false
private

Definition at line 92 of file HFTrigger.h.

View newest version in sPHENIX GitHub at line 92 of file HFTrigger.h

Referenced by printTrigger(), process_event(), requireTwoTrackTrigger(), and runTrigger().


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