11 #include <framework/core/Module.h>
19 #include <tracking/dataobjects/MCParticleInfo.h>
20 #include <vxd/dataobjects/VXDTrueHit.h>
54 void event()
override;
132 double semiPlane(TVector3 vertex, TVector3 center, TVector3 hit);
154 bool isInAnnulus(
double hitDistance,
double R,
double dR);
163 bool isFirstLap(
double FirstHitTime,
double HitTime,
double LapTime);
184 Int_t nbinsX, Double_t minX, Double_t maxX,
const char* titleX,
185 Int_t nbinsY, Double_t minY, Double_t maxY,
const char* titleY,
186 Int_t nbinsZ, Double_t minZ, Double_t maxZ,
const char* titleZ,
187 TList* histoList =
nullptr);
205 Int_t nbinsX, Double_t* binsX,
const char* titleX,
206 Int_t nbinsY, Double_t* binsY,
const char* titleY,
207 Int_t nbinsZ, Double_t* binsZ,
const char* titleZ,
208 TList* histoList =
nullptr);
218 TH1* h, TList* histoList =
nullptr);
230 TH1* hNum, TH1* hDen,
bool isEffPlot,
248 float compute_dR(
double thetaMS,
double omega);
This struct is used by the TrackingPerformanceEvaluation Module to save information of reconstructed ...
The MCTrackCandClassifier Definition Module.
std::string m_rootFileName
root file name
bool m_applySemiplane
Wether to require that the hit is in the expected semiplane.
TH1F * m_h1_nBadTrueHits
Histogram.
bool m_applyWedge
Whether to require that the hit belong to the barrel part of the SVD.
TH3F * m_h3_MCTrackCand
Histogram.
void addInefficiencyPlots(TList *graphList=nullptr)
Function to create inefficiency plots and add them to list.
TH1F * m_h1_nBad1dInfo
Histogram.
int nWedge
Counter for hits on wedged sensors.
bool isInAnnulus(double hitDistance, double R, double dR)
Function to check if hitDistance is within a given annulus.
void initialize() override
Initializes the Module.
std::string m_mcParticlesName
MCParticle list name.
double semiPlane(TVector3 vertex, TVector3 center, TVector3 hit)
Function to get semiplane.
int nBarrel
Counter for hits on barrel sensors.
bool m_usePXD
Whether to use PXD.
void event() override
Event function.
TH1 * duplicateHistogram(const char *newname, const char *newtitle, TH1 *h, TList *histoList=nullptr)
Function to clone a histogram.
TH3F * m_h3_idealMCTrackCand
Histogram.
void endRun() override
End run.
float compute_thetaMS(MCParticleInfo &mcParticleInfo, VXDTrueHit *aTrueHit)
Calculate thetaMS.
void terminate() override
Termination action.
TH1F * m_h1_nGood1dInfo
Histogram.
bool m_applyLap
Whether to require that the hit belongs to the first lap in the transverse plane.
TH1F * m_h1_nGoodTrueHits
Histogram.
MCTrackCandClassifierModule()
Constructor of the module.
TH1F * m_h1_dRoverR
Histogram.
bool isFirstLap(double FirstHitTime, double HitTime, double LapTime)
Function to check if a hitTime is within a given lapTime, under consideration of m_fraction and with ...
void addEfficiencyPlots(TList *graphList=nullptr)
Function to create efficiency plots and add them to list.
TH1F * m_h1_timeDifference
Histogram.
void beginRun() override
Begin run.
TH1F * m_h1_hitDistance_rejected
Histogram.
TList * m_histoList
List of histograms.
TH1F * m_h1_hitRadius_rejected
Histogram.
TH1F * m_h1_lapTime
Histogram.
TH1F * m_h1_thetaMS_PXD
Histogram.
double m_fraction
Fraction of lap.
TH1F * m_h1_hitRadius_accepted
Histogram.
TH1F * m_h1_MCTrackCandNhits
Histogram.
TH3F * createHistogram3D(const char *name, const char *title, Int_t nbinsX, Double_t minX, Double_t maxX, const char *titleX, Int_t nbinsY, Double_t minY, Double_t maxY, const char *titleY, Int_t nbinsZ, Double_t minZ, Double_t maxZ, const char *titleZ, TList *histoList=nullptr)
Create a 3D ROOT Histogram.
TH1F * createHistogramsRatio(const char *name, const char *title, TH1 *hNum, TH1 *hDen, bool isEffPlot, int axisRef)
Function to create a ratio histogram from two histograms.
TH1F * m_h1_diffOVERlap
Histogram.
TH1F * m_h1_firstRejectedOVERMCHit
Histogram.
TH1F * m_h1_thetaMS_SVD
Histogram.
TH1F * m_h1_firstRejectedHit
Histogram.
TFile * m_rootFilePtr
Pointer to root file used for storing histograms.
TH1F * m_h1_hitDistance_accepted
Histogram.
bool m_applyAnnulus
Whether to require that the hit is in the expected annulus.
TH3F * m_h3_MCParticle
Histogram.
std::string m_mcTrackCandsColName
TrackCand list name.
bool isInSemiPlane(double semiPlane, double omega)
Function to check if a omega value is in a given semiPlane.
double theDistance(TVector3 center, TVector3 hit)
Get distance between two points.
float compute_dR(double thetaMS, double omega)
Calculate dR.
bool m_removeBadHits
Whether to remove the clusters that do not satisfy the criteria from the idealMCTrackCands.
int m_minHit
Minimum number of 1D Clusters to classify the MCTrackCand as ideal.
TH1F * m_h1_distOVERdR
Histogram.
Class VXDTrueHit - Records of tracks that either enter or leave the sensitive volume.
Abstract base class for different kinds of events.