10#include <framework/core/Module.h>
11#include <framework/dataobjects/EventMetaData.h>
12#include <framework/datastore/StoreArray.h>
13#include <framework/datastore/StoreObjPtr.h>
14#include <mdst/dataobjects/ECLCluster.h>
15#include <mdst/dataobjects/MCParticle.h>
16#include <mdst/dataobjects/Track.h>
17#include <mdst/dataobjects/TrackFitResult.h>
18#include <tracking/dataobjects/ExtHit.h>
52 virtual void event()
override;
The module saves information on ExtHits and related cluster into a file.
std::string m_rootFileName
name of the root file
ECLTrackClusterMatchingParametrizationExpertModule()
Constructor, for setting module description and parameters.
std::vector< int > * m_true_match_array
array of booleans indicating if cluster of hit is related to same MCParticle as track
TTree * m_tree
Root tree for saving the output.
float m_phiCluster
azimuthal angle of cluster
int m_iExperiment
Experiment number.
int m_trackNo
counter to distinguish tracks
bool m_writeToRoot
if true, a rootFile named by m_rootFileName will be filled with info
virtual void initialize() override
Use this to initialize resources or memory your module needs.
virtual ~ECLTrackClusterMatchingParametrizationExpertModule()
Use to clean up anything you created in the constructor.
float m_pT
transverse momentum of track
bool m_useArray
if true, info is stored event-wise using array, otherwise hit-wise
virtual void event() override
Called once for each event.
std::vector< float > * m_phiCluster_array
array of azimuthal angles of cluster
int m_true_track_pdg
PDG ID of track according to MC.
float m_errorPhi
uncertainty on azimuthal angle of hit
StoreArray< TrackFitResult > m_trackFitResults
Required input array of TrackFitResults.
std::vector< float > * m_thetaCluster_array
array of polar angles of cluster
std::vector< float > * m_thetaHit_array
array of polar angles of hit
virtual void terminate() override
Clean up anything you created in initialize().
int m_iEvent
Event number.
float m_deltaTheta
difference in polar angle between hit position and cluster
std::vector< float > * m_pT_array
array of transversal track momenta
StoreObjPtr< EventMetaData > m_eventMetaData
Optional input array of EventMetaData.
std::vector< float > * m_deltaTheta_array
array of differences in polar angle between hit and cluster
std::vector< float > * m_errorPhi_array
array of uncertainties on azimuthal angle of hit
bool isECLHit(const ExtHit &extHit) const
Check if extrapolated hit is inside ECL and matches one of the desired categories.
std::vector< float > * m_trackTheta_array
array of track's polar angles
StoreArray< Track > m_tracks
Required input array of Tracks.
std::vector< float > * m_phiHit_array
array of azimuthal angles of hit
float m_thetaHit
polar angle of hit position
int m_true_match
cluster related to hit is related to same MCParticle as track
StoreArray< ECLCluster > m_eclClusters
Required input array of ECLClusters.
float m_trackTheta
polar angle of track
float m_phiHit
azimuthal angle of hit position
float m_trackMomentum
momentum of track
int m_hitstatus
status of hit
StoreArray< ExtHit > m_extHits
Required input array of ExtHits.
float m_thetaCluster
polar angle of cluster
StoreArray< MCParticle > m_mcParticles
Required input array of MCParticles.
float m_deltaPhi
difference in azimuthal angle between hit position and cluster
float m_errorTheta
uncertainty on polar angle of hit
std::vector< float > * m_errorTheta_array
array of uncertainties on polar angle of hit
std::vector< int > * m_hitstatus_array
array of hit status
TFile * m_rootFilePtr
members of ECLTrackClusterMatching Module
std::vector< float > * m_deltaPhi_array
array of differences in azimuthal angle between hit and cluster
std::vector< float > * m_trackMomentum_array
array of track momenta
std::vector< int > * m_true_track_pdg_array
array of true PDG IDs of track
std::vector< int > * m_trackNo_array
array of track numbers
Store one Ext hit as a ROOT object.
Accessor to arrays stored in the data store.
Type-safe access to single objects in the data store.
Abstract base class for different kinds of events.