1
- // File: StdHitNtuplizer.cc
2
- // Description: see StdHitNtuplizer.h
3
- // Authors: H. Cheung
4
- // --------------------------------------------------------------
5
-
6
- #include " SLHCUpgradeSimulations/Geometry/test/StdHitNtuplizer.h"
7
-
8
- #include " FWCore/PluginManager/interface/ModuleDef.h"
9
- #include " FWCore/Framework/interface/MakerMacros.h"
10
- #include " FWCore/Framework/interface/EventSetup.h"
11
- #include " FWCore/MessageLogger/interface/MessageLogger.h"
12
-
13
- // DataFormats
14
- #include " DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
15
- #include " DataFormats/Common/interface/Handle.h"
16
- #include " DataFormats/Common/interface/OwnVector.h"
17
- #include " DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
18
- #include " DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
19
- #include " DataFormats/TrackReco/interface/Track.h"
20
-
21
- #include " SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
22
- #include " SimTracker/TrackerHitAssociation/interface/TrackerHitAssociator.h"
23
- #include " SimDataFormats/Track/interface/SimTrack.h"
24
- #include " SimDataFormats/Track/interface/SimTrackContainer.h"
25
- #include " SimDataFormats/Vertex/interface/SimVertex.h"
26
- #include " SimDataFormats/Vertex/interface/SimVertexContainer.h"
27
-
28
- #include " DataFormats/DetId/interface/DetId.h"
29
- #include " DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
30
- #include " DataFormats/Common/interface/DetSetVector.h"
31
- #include " DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
32
- #include " DataFormats/Common/interface/Ref.h"
33
-
34
- #include " DataFormats/SiStripDetId/interface/StripSubdetector.h"
35
-
36
- // Geometry
37
- #include " MagneticField/Engine/interface/MagneticField.h"
38
- #include " Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h"
39
- #include " Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h"
40
- #include " Geometry/CommonDetUnit/interface/GeomDetType.h"
41
- #include " Geometry/CommonDetUnit/interface/GeomDet.h"
1
+ /* * \class StdHitNtuplizer
2
+ * File: StdHitNtuplizer.cc
3
+ * Authors: H. Cheung
4
+ ************************************************************/
42
5
43
6
// For ROOT
44
7
#include < TROOT.h>
53
16
#include < string>
54
17
#include < iostream>
55
18
19
+ // USER INCLUDES
20
+ #include " DataFormats/Common/interface/DetSetVector.h"
21
+ #include " DataFormats/Common/interface/Handle.h"
22
+ #include " DataFormats/Common/interface/OwnVector.h"
23
+ #include " DataFormats/Common/interface/Ref.h"
24
+ #include " DataFormats/DetId/interface/DetId.h"
25
+ #include " DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
26
+ #include " DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
27
+ #include " DataFormats/SiStripDetId/interface/StripSubdetector.h"
28
+ #include " DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
29
+ #include " DataFormats/TrackReco/interface/Track.h"
30
+ #include " DataFormats/TrackerCommon/interface/TrackerTopology.h"
31
+ #include " DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h"
32
+ #include " DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h"
33
+ #include " DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h"
34
+ #include " DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
35
+ #include " FWCore/Framework/interface/Event.h"
36
+ #include " FWCore/Framework/interface/EventSetup.h"
37
+ #include " FWCore/Framework/interface/MakerMacros.h"
38
+ #include " FWCore/Framework/interface/one/EDAnalyzer.h"
39
+ #include " FWCore/MessageLogger/interface/MessageLogger.h"
40
+ #include " FWCore/ParameterSet/interface/ParameterSet.h"
41
+ #include " FWCore/PluginManager/interface/ModuleDef.h"
42
+ #include " FWCore/Utilities/interface/InputTag.h"
43
+ #include " Geometry/CommonDetUnit/interface/GeomDet.h"
44
+ #include " Geometry/CommonDetUnit/interface/GeomDetType.h"
45
+ #include " Geometry/CommonDetUnit/interface/PixelGeomDetType.h"
46
+ #include " Geometry/Records/interface/TrackerDigiGeometryRecord.h"
47
+ #include " Geometry/Records/interface/TrackerTopologyRcd.h"
48
+ #include " Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h"
49
+ #include " Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h"
50
+ #include " Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
51
+ #include " MagneticField/Engine/interface/MagneticField.h"
52
+ #include " SimDataFormats/Track/interface/SimTrack.h"
53
+ #include " SimDataFormats/Track/interface/SimTrackContainer.h"
54
+ #include " SimDataFormats/TrackingHit/interface/PSimHit.h"
55
+ #include " SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
56
+ #include " SimDataFormats/Vertex/interface/SimVertex.h"
57
+ #include " SimDataFormats/Vertex/interface/SimVertexContainer.h"
58
+ #include " SimTracker/TrackerHitAssociation/interface/TrackerHitAssociator.h"
59
+
60
+ class StdHitNtuplizer : public edm ::one::EDAnalyzer<> {
61
+ public:
62
+ explicit StdHitNtuplizer (const edm::ParameterSet& conf);
63
+ virtual ~StdHitNtuplizer ();
64
+ virtual void beginJob ();
65
+ virtual void endJob ();
66
+ virtual void analyze (const edm::Event& e, const edm::EventSetup& es);
67
+
68
+ protected:
69
+ void fillEvt (const edm::Event&);
70
+ void fillSRecHit (const int subid,
71
+ SiStripRecHit2DCollection::DetSet::const_iterator pixeliter,
72
+ const GeomDet* theGeom);
73
+ void fillSRecHit (const int subid,
74
+ SiStripMatchedRecHit2DCollection::DetSet::const_iterator pixeliter,
75
+ const GeomDet* theGeom);
76
+ void fillSRecHit (const int subid, const FastTrackerRecHit& hit, const GeomDet* theGeom);
77
+ // void fillPRecHit(const int subid, SiPixelRecHitCollection::const_iterator pixeliter,
78
+ // const GeomDet* PixGeom);
79
+ void fillPRecHit (const int subid,
80
+ const int layer_num,
81
+ SiPixelRecHitCollection::DetSet::const_iterator pixeliter,
82
+ const int num_simhit,
83
+ std::vector<PSimHit>::const_iterator closest_simhit,
84
+ const GeomDet* PixGeom);
85
+ void fillPRecHit (const int subid, trackingRecHit_iterator pixeliter, const GeomDet* PixGeom);
86
+
87
+ private:
88
+ edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> geom_esToken;
89
+ edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> topo_esToken;
90
+ edm::ParameterSet conf_;
91
+ TrackerHitAssociator::Config trackerHitAssociatorConfig_;
92
+ edm::InputTag src_;
93
+ edm::InputTag rphiRecHits_;
94
+ edm::InputTag stereoRecHits_;
95
+ edm::InputTag matchedRecHits_;
96
+
97
+ void init ();
98
+
99
+ // --- Structures for ntupling:
100
+ struct evt {
101
+ int run;
102
+ int evtnum;
103
+
104
+ void init ();
105
+ } evt_, stripevt_;
106
+
107
+ struct RecHit {
108
+ float x;
109
+ float y;
110
+ float xx;
111
+ float xy;
112
+ float yy;
113
+ float row;
114
+ float col;
115
+ float gx;
116
+ float gy;
117
+ float gz;
118
+ int subid;
119
+ int layer;
120
+ int nsimhit;
121
+ float hx, hy;
122
+ float tx, ty;
123
+ float theta, phi;
124
+
125
+ void init ();
126
+ } recHit_, striprecHit_;
127
+
128
+ TFile* tfile_;
129
+ TTree* pixeltree_;
130
+ TTree* striptree_;
131
+ TTree* pixeltree2_;
132
+ };
133
+
56
134
using namespace std ;
57
135
using namespace edm ;
58
136
using namespace reco ;
@@ -71,7 +149,7 @@ StdHitNtuplizer::StdHitNtuplizer(edm::ParameterSet const& conf)
71
149
striptree_(0 ),
72
150
pixeltree2_(0 ) {}
73
151
74
- StdHitNtuplizer::~StdHitNtuplizer () {}
152
+ StdHitNtuplizer::~StdHitNtuplizer () = default ;
75
153
76
154
void StdHitNtuplizer::endJob () {
77
155
std::cout << " StdHitNtuplizer::endJob" << std::endl;
0 commit comments