 |
Belle II Software
release-05-02-19
|
14 #include <ecl/dataobjects/ECLCalDigit.h>
15 #include <ecl/dataobjects/ECLShower.h>
16 #include <framework/core/Module.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/datastore/StoreArray.h>
19 #include <mdst/dataobjects/ECLCluster.h>
20 #include <mdst/dataobjects/Track.h>
21 #include <mdst/dataobjects/TrackFitResult.h>
22 #include <tracking/dataobjects/ExtHit.h>
29 class ECLTrackClusterMatchingParameterizations;
30 class ECLTrackClusterMatchingThresholds;
36 class ECLTrackClusterMatchingModule :
public Module {
55 virtual void event()
override;
65 bool isECLHit(
const ExtHit& extHit)
const;
68 double showerQuality(
double deltaPhi,
double deltaTheta,
double pt,
int eclDetectorRegion,
int hitStatus)
const;
74 double phiConsistency(
double deltaPhi,
double pt,
int eclDetectorRegion,
int hitStatus)
const;
80 double thetaConsistency(
double deltaTheta,
double pt,
int eclDetectorRegion,
int hitStatus)
const;
bool trackTowardsGap(double theta) const
return if track points towards gap or adjacent part of barrel
virtual void event() override
Called once for each event.
TF1 f_phiRMSFWDNEAR
function to describe phi RMS for FWD NEAR
virtual void initialize() override
Use this to initialize resources or memory your module needs.
TF1 f_phiRMSFWDCROSS
function to describe phi RMS for FWD CROSS
virtual ~ECLTrackClusterMatchingModule()
Use to clean up anything you created in the constructor.
TF1 f_phiRMSBRLNEAR
function to describe phi RMS for BRL NEAR
bool m_skipZeroChargeTracks
if true, tracks whose charge has been set to zero are excluded from track-cluster matching
int m_minimalCDCHits
minimal required number of CDC hits before track-cluster match is initiated
TF1 f_thetaRMSFWDDL
function to describe theta RMS for FWD DL
TF1 f_phiRMSBRLCROSS
function to describe phi RMS for BRL CROSS
bool m_useOptimizedMatchingConsistency
if true, a theta dependent matching criterion will be used
TF1 f_phiRMSBWDNEAR
function to describe phi RMS for BWD NEAR
std::vector< std::pair< double, double > > m_matchingThresholdValuesBWD
Matching threshold values for BWD.
void optimizedPTMatchingConsistency(double theta, double pt)
choose criterion depending on track's pt
TF1 f_phiRMSBWDDL
function to describe phi RMS for BWD DL
double m_brlEdgeTheta
distance of polar angle from gaps where crystal-entering based matching is applied (in rad)
TF1 f_thetaRMSBWDNEAR
function to describe theta RMS for BWD NEAR
TF1 f_thetaRMSFWDCROSS
function to describe theta RMS for FWD CROSS
virtual void terminate() override
Clean up anything created in initialize().
StoreArray< ECLCalDigit > m_eclCalDigits
Required input array of ECLCalDigits.
Class for accessing objects in the database.
double phiConsistency(double deltaPhi, double pt, int eclDetectorRegion, int hitStatus) const
Calculate phi consistency based on difference in azimuthal angle.
StoreArray< TrackFitResult > m_trackFitResults
Required input array of TrackFitResults.
double thetaConsistency(double deltaTheta, double pt, int eclDetectorRegion, int hitStatus) const
Calculate theta consistency based on difference in polar angle.
double m_matchingConsistency
minimal quality of ExtHit-ECLCluster pair for positive track-cluster match
Abstract base class for different kinds of events.
std::vector< std::pair< double, std::pair< double, double > > > m_matchingThresholdValuesBRL
Matching threshold values for BRL.
double m_matchingPTThreshold
pt limit between angular-distance based and crystal-entering based matching algorithm
StoreArray< ECLShower > m_eclShowers
Required input array of ECLShowers.
StoreArray< ECLCluster > m_eclClusters
Required input array of ECLClusters.
bool m_angularDistanceMatching
members of ECLTrackClusterMatching Module
TF1 f_thetaRMSBWDDL
function to describe theta RMS for BWD DL
ECLTrackClusterMatchingModule()
Constructor, for setting module description and parameters.
TF1 f_thetaRMSFWDNEAR
function to describe theta RMS for FWD NEAR
bool isECLEnterHit(const ExtHit &extHit) const
Check if status of extrapolated hit is entering of ECL.
TF1 f_thetaRMSBRLCROSS
function to describe theta RMS for BRL CROSS
DBObjPtr< ECLTrackClusterMatchingParameterizations > m_matchingParameterizations
Parameterizations of RMS.
TF1 f_thetaRMSBWDCROSS
function to describe theta RMS for BWD CROSS
std::vector< std::pair< double, double > > m_matchingThresholdValuesFWD
Matching threshold values for FWD.
TF1 f_phiRMSBWDCROSS
function to describe phi RMS for BWD CROSS
TF1 f_thetaRMSBRLNEAR
function to describe theta RMS for BRL NEAR
StoreArray< ExtHit > m_extHits
Required input array of ExtHits.
bool isECLHit(const ExtHit &extHit) const
Check if extrapolated hit is inside ECL and matches one of the desired categories.
TF1 f_thetaRMSBRLDL
function to describe theta RMS for BRL DL
DBObjPtr< ECLTrackClusterMatchingThresholds > m_matchingThresholds
Optimized matching thresholds.
TF1 f_phiRMSBRLDL
function to describe phi RMS for BRL DL
TF1 f_phiRMSFWDDL
function to describe phi RMS for FWD DL
double showerQuality(double deltaPhi, double deltaTheta, double pt, int eclDetectorRegion, int hitStatus) const
Calculate matching quality based on phi and theta consistencies.
StoreArray< Track > m_tracks
Required input array of Tracks.