Belle II Software development
SVDDQMEfficiencyModule.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9
10#pragma once
11
12#include <framework/core/HistoModule.h>
13#include <framework/datastore/StoreArray.h>
14
15#include <svd/dataobjects/SVDCluster.h>
16#include <svd/dataobjects/SVDSummaryPlots.h>
17
18#include <vxd/geometry/GeoCache.h>
19#include <vxd/dataobjects/VxdID.h>
20
21#include <tracking/dataobjects/SVDIntercept.h>
22#include <tracking/dataobjects/RecoTrack.h>
23
24#include <svd/dbobjects/SVDDQMPlotsConfiguration.h>
25#include <mdst/dataobjects/SoftwareTriggerResult.h>
26
27#include <framework/database/DBObjPtr.h>
28
29#include "TH2D.h"
30
31namespace Belle2 {
36
41
42 public:
43
48
49 private:
50
54 void event() override final;
55
59 void initialize() override final;
60
64 void defineHisto() override final;
65
66
67 bool isGoodIntercept(SVDIntercept* inter);
68
70
71 std::string m_svdClustersName;
72 std::string m_interceptsName;
73
79
82
85
86 // double m_d0cut; /**<d0-Cut for tracks */
87 // double m_z0cut; /**<z0-Cut for tracks */
88 double m_pcut;
89 double m_momCut;
90 double m_ptCut;
91 unsigned int m_minSVDHits;
92 unsigned int m_minCDCHits;
93
94 /* Histograms to later determine efficiency */
95
97
98 bool m_3Samples = false;
99
100 bool m_skipRejectedEvents = false;
101
102 bool m_useParamFromDB = true;
103
105
108
109 std::map<VxdID, TH2D*> m_h_track_hits;
110 std::map<VxdID, TH2D*> m_h_matched_clusterU;
111 std::map<VxdID, TH2D*> m_h_matched_clusterV;
112 std::map<VxdID, TH2D*> m_h_matched3_clusterU;
113 std::map<VxdID, TH2D*> m_h_matched3_clusterV;
114 std::map<VxdID, TH2D*> m_h_matched6_clusterU;
115 std::map<VxdID, TH2D*> m_h_matched6_clusterV;
116
117
124
125 };
126
127}
Class for accessing objects in the database.
Definition DBObjPtr.h:21
HistoModule()
Constructor.
Definition HistoModule.h:32
float m_fiducialV
stay away from the U border by m_fiducialU (in cm)
bool m_useParamFromDB
if true read back from DB configuration parameters
SVDDQMEfficiencyModule()
Constructor: Sets the description, the properties and the parameters of the module.
std::string m_svdClustersName
SVDClusters StoreArray name.
std::map< VxdID, TH2D * > m_h_track_hits
track hits histogram map to sensorID
void initialize() override final
initializes the need store arrays, trees and histograms
unsigned int m_minCDCHits
Required hits in CDC for tracks.
bool m_saveExpertHistos
save additional histograms id set True
std::map< VxdID, TH2D * > m_h_matched6_clusterV
matched V-hits histogram map to sensorID for 6 samples
StoreArray< SVDIntercept > m_intercepts
SVDIntercept StoreArray.
bool m_skipRejectedEvents
if true skip events rejected by HLT
SVDSummaryPlots * m_MatchedHits3Sample
matched hits summary plot for 3 samples
VXD::GeoCache & m_geoCache
BelleII Geometry.
std::map< VxdID, TH2D * > m_h_matched3_clusterV
matched V-hits histogram map to sensorID for 3 samples
unsigned int m_minSVDHits
Required hits in SVD strips for tracks.
StoreArray< SVDCluster > m_svdClusters
SVDCluster StoreArray.
double m_momCut
Cut on fitted track momentum.
int m_u_bins
number of U-bins for expert histogram
std::map< VxdID, TH2D * > m_h_matched_clusterU
matched U-hits histogram map to sensorID
std::map< VxdID, TH2D * > m_h_matched6_clusterU
matched U-hits histogram map to sensorID for 6 samples
float m_fiducialU
stay away from the U border by m_fiducialU (in cm)
void defineHisto() override final
actually defines the trees and histograms
DBObjPtr< SVDDQMPlotsConfiguration > m_svdPlotsConfig
SVD DQM plots configuration.
double m_pcut
pValue-Cut for tracks
bool isGoodIntercept(SVDIntercept *inter)
returns true if the track related to the intercept passes the selection cuts
void event() override final
main function which fills trees and histograms
std::string m_histogramDirectoryName
name of the directory where to store the histograms
float m_maxResidV
max distance cut in cm V side
bool m_3Samples
if true enable 3 samples histograms analysis
SVDSummaryPlots * m_MatchedHits6Sample
matched hits summary plot for 6 samples
std::map< VxdID, TH2D * > m_h_matched3_clusterU
matched U-hits histogram map to sensorID for 3 samples
int m_v_bins
number of V-bins for expert histogram
SVDSummaryPlots * m_MatchedHits
matched hits summary plot
SVDSummaryPlots * m_TrackHits
track hits summary plot
StoreArray< RecoTrack > m_recoTracks
RecoTrack StoreArray.
double m_ptCut
Cut on fitted track pt.
StoreObjPtr< SoftwareTriggerResult > m_resultStoreObjectPointer
Store Object for reading the trigger decision.
std::string m_interceptsName
SVDIntercepts StoreArray name.
SVDSummaryPlots * m_TrackHits3Sample
track hits summary plot for 3 samples
std::map< VxdID, TH2D * > m_h_matched_clusterV
matched V-hits histogram map to sensorID
SVDSummaryPlots * m_TrackHits6Sample
track hits summary plot for 6 samples
float m_maxResidU
max distance cut in cm U side
SVDIntercept stores the U,V coordinates and uncertainties of the intersection of a track with an SVD ...
class to summarize SVD quantities per sensor and side
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
Type-safe access to single objects in the data store.
Definition StoreObjPtr.h:96
Class to facilitate easy access to sensor information of the VXD like coordinate transformations or p...
Definition GeoCache.h:39
Abstract base class for different kinds of events.