Belle II Software prerelease-10-00-00a
PXDDQMEfficiencyNtupleModule.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/Module.h>
13#include <framework/datastore/StoreArray.h>
14
15#include <pxd/dataobjects/PXDCluster.h>
16
17#include <vxd/geometry/GeoCache.h>
18#include <vxd/geometry/SensorInfoBase.h>
19#include <mdst/dataobjects/Track.h>
20#include <tracking/dataobjects/RecoTrack.h>
21#include <tracking/dataobjects/ROIid.h>
22
23#include <tracking/dataobjects/PXDIntercept.h>
24
25//root stuff
26#include <Math/Vector3D.h>
27
28#include "TFile.h"
29#include "TNtuple.h"
30
31
32namespace Belle2 {
37
47
48 public:
49
54
55 private:
56
60 void event() override final;
61
65 void initialize() override final;
66
70 void terminate() override final;
71
72
73 private:
74 /* helper functions to do some of the calculations*/
76 int findClosestCluster(const VxdID& vxdid, ROOT::Math::XYZVector intersection);
78 bool isCloseToBorder(int u, int v, int checkDistance);
80 bool isDeadPixelClose(int u, int v, int checkDistance, const VxdID& moduleID);
81
84
87
88 std::string m_ntupleName;
89 std::string m_pxdClustersName;
90 std::string m_tracksName;
91 std::string m_recoTracksName;
92 std::string m_ROIsName;
94
100
101 double m_pcut;
102 double m_momCut;
103 double m_pTCut;
104 unsigned int m_minSVDHits;
106
107 TFile* m_file{};
108 TNtuple* m_tuple{};
109
110 };
111
112}
Module()
Constructor.
Definition Module.cc:30
void initialize() override final
initializes the need store arrays, trees and histograms
bool isCloseToBorder(int u, int v, int checkDistance)
is it close to the border
unsigned int m_minSVDHits
Required hits in SVD strips for tracks.
StoreArray< PXDCluster > m_pxdclusters
store array of pxd clusters
std::string m_PXDInterceptListName
intercept list name
double m_momCut
Cut on fitted track momentum.
int findClosestCluster(const VxdID &vxdid, ROOT::Math::XYZVector intersection)
find the closest cluster
bool isDeadPixelClose(int u, int v, int checkDistance, const VxdID &moduleID)
is a dead pixel close
void terminate() override final
terminate , save tuple to file if needed
void event() override final
main function which fills trees and histograms
std::string m_pxdClustersName
name of the store array of pxd clusters
StoreArray< Track > m_tracks
store array of tracks
std::string m_recoTracksName
name of the store array of recotracks
int m_maskedDistance
Distance inside which no dead pixel or module border is allowed.
StoreArray< PXDIntercept > m_intercepts
store array of PXD Intercepts
std::string m_ROIsName
name of the store array of ROIs
StoreArray< RecoTrack > m_recoTracks
store array of reco tracks
bool m_useAlignment
if true alignment will be used!
PXDDQMEfficiencyNtupleModule()
Constructor: Sets the description, the properties and the parameters of the module.
std::string m_tracksName
name of the store array of tracks
StoreArray< ROIid > m_ROIs
store array of ROIs
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
Class to facilitate easy access to sensor information of the VXD like coordinate transformations or p...
Definition GeoCache.h:39
Class to uniquely identify a any structure of the PXD and SVD.
Definition VxdID.h:33
Abstract base class for different kinds of events.