HerdSoftware  0.2.3
Public Member Functions | Private Types | Private Attributes | List of all members
Herd::FitFarHitsRemoverAlgo Class Reference

Algorithm that removes the FIT hits lying far away from a given track. More...

#include <FitFarHitsRemoverAlgo.h>

Inheritance diagram for Herd::FitFarHitsRemoverAlgo:

Public Member Functions

 FitFarHitsRemoverAlgo (const std::string &name)
 Constructor. More...
 
bool Initialize ()
 Initializes the algo. More...
 
bool Process ()
 Processes an event. More...
 

Private Types

enum  EntranceRecoMethod { EntranceRecoMethod::NONE, EntranceRecoMethod::MC, EntranceRecoMethod::CALO }
 

Private Attributes

float _maxDistance
 
std::string _trackType
 
std::string _entranceSideReco
 
std::string _fitHitsCollName
 
std::string _fitGeoParCollName
 
std::string _nearHitsAlias
 
StorePtr _evStore
 
StorePtr _globStore
 
Herd::FitHitsColl _nearHits
 
bool _useMCTrack
 
EntranceRecoMethod _entranceRecoMethod
 

Detailed Description

Algorithm that removes the FIT hits lying far away from a given track.

This algorithm creates a FIT hits collection containing only hits that lie within a given distance from a track. By default, the algorithm operates on ADC FIT hits; it is possible to specify a different set of hits (e.g. MC hits) by means of an algorithm parameter. Also the FIT geometry parameters can be specified in order to be consistent with the hits collection. The track can be currently specified as the "true" primary track from MC truth or as the CALO track by means of the trackType parameter. If an entrance-side-reconstruction criterion is specified by means of the entranceSideReco parameter then all the hits in the FITs on the particle exit side will be removed, regardless of their distance from the track. Setting entranceSideReco to "mc" will make the algorithm use the MC generation point to determine the entrance side, while setting it to "calo" the reconstructed CALO shower will be used. Setting it to "none" will disable the feature. If no CALO axis is present and if "calo" is used for track type and/or entrance side reconstruction then the output event object with the near hits sill not be provided. The processed hits are published in the event data store with a name built by appending the "_nearToTrack" suffix to the name of the input hits collection; the alias for the provided near hits as specified by the nearHitsAlias parameter will also be set.

Needed event objects:

name type store optional description
<fitHitsColl> FitHitsColl evStore No The name of the FIT hits collection to be processed.
mcTruth MCTruth evStore No The MC truth.
caloAxes CaloAxes evStore No The CALO axes.

Needed global objects:

name type store optional description
<fitGeoParColl> FitGeoParamsColl globStore No The FIT geometry parameters.

Provided event objects:

name type alias store description
<fitHitsColl>_nearToTrack FitHitsColl <nearHitsAlias> evStore Collection of hits lying near to the track (only if at least one CaloAxis is present)

Parameters:

name type default value description
trackType std::string "calo" The particle track (possible values: "mc", "calo")
entranceSideReco std::sting "calo" The reconstruction method for the entrance side (possible values: "mc", "calo", "none")
maxDistance float 5 Maximum distance (in cm) from hit to track.
fitHitsColl std::string "fitHitsCollADC" The name of the FIT hits collection to be processed.
fitGeoParColl std::string "fitDigitizedGeoParamsColl <td> The name of the FIT geometry parameters collection to be used. <tr><td>nearHitsAlias <td> std::string <td> "fitHitsCollADC" Alias for the near hits object.

Member Enumeration Documentation

◆ EntranceRecoMethod

Enumerator
NONE 
MC 
CALO 

Constructor & Destructor Documentation

◆ FitFarHitsRemoverAlgo()

Herd::FitFarHitsRemoverAlgo::FitFarHitsRemoverAlgo ( const std::string &  name)

Constructor.

Parameters
nameThe name of the algorithm object.

Member Function Documentation

◆ Initialize()

bool Herd::FitFarHitsRemoverAlgo::Initialize ( )

Initializes the algo.

Returns
true if initialization is done without errors, false otherwise.

◆ Process()

bool Herd::FitFarHitsRemoverAlgo::Process ( )

Processes an event.

Returns
true if no error occurs during processing, false otherwise.

Member Data Documentation

◆ _entranceRecoMethod

EntranceRecoMethod Herd::FitFarHitsRemoverAlgo::_entranceRecoMethod
private

◆ _entranceSideReco

std::string Herd::FitFarHitsRemoverAlgo::_entranceSideReco
private

◆ _evStore

StorePtr Herd::FitFarHitsRemoverAlgo::_evStore
private

◆ _fitGeoParCollName

std::string Herd::FitFarHitsRemoverAlgo::_fitGeoParCollName
private

◆ _fitHitsCollName

std::string Herd::FitFarHitsRemoverAlgo::_fitHitsCollName
private

◆ _globStore

StorePtr Herd::FitFarHitsRemoverAlgo::_globStore
private

◆ _maxDistance

float Herd::FitFarHitsRemoverAlgo::_maxDistance
private

◆ _nearHits

Herd::FitHitsColl Herd::FitFarHitsRemoverAlgo::_nearHits
private

◆ _nearHitsAlias

std::string Herd::FitFarHitsRemoverAlgo::_nearHitsAlias
private

◆ _trackType

std::string Herd::FitFarHitsRemoverAlgo::_trackType
private

◆ _useMCTrack

bool Herd::FitFarHitsRemoverAlgo::_useMCTrack
private

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