CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CSCSkim.h
Go to the documentation of this file.
1 #ifndef DPGAnalysisSkims_CSCSkim_H
2 #define DPGAnalysisSkims_CSCSkim_H
3 
11 #include <memory>
12 #include <iostream>
13 #include <vector>
14 #include <map>
15 #include <string>
16 #include <iomanip>
17 #include <fstream>
18 
30 
39 
42 
49 
56 
62 
63 // #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
64 
65 #include "TVector3.h"
66 #include "TH1F.h"
67 #include "TH2F.h"
68 #include "TFile.h"
69 #include "TString.h"
70 #include "TTree.h"
71 
72 class CSCSkim : public edm::one::EDFilter<> {
73 public:
74  // Constructor
75  explicit CSCSkim(const edm::ParameterSet &pset);
76 
77  // Destructor
78  ~CSCSkim() override;
79 
80  // Analysis routines
81  void beginJob() override;
82  bool filter(edm::Event &event, const edm::EventSetup &eventSetup) override;
83  void endJob() override;
84 
85 protected:
86 private:
87  // main skimming routine
89 
90  // extra skimming routine for alignment studies
92 
93  // skimming routine for messy events
96 
97  // select events with DIGIs in a certain chamber
99 
100  // select events which might probe the DT-CSC overlap region
102 
103  // select muons which go through inner part of stations 1,2,3,4
105 
106  // select events with long stand-alone (cosmic) muons
108 
109  // select events suitable for magnetic field studies - they have a track in the tracker
113 
114  // some useful functions
115  int chamberSerial(int kE, int kS, int kR, int kCh);
116 
117  // counters
128 
129  // run and event number
130  int iRun;
131  int iEvent;
132 
133  // The root file for the histograms.
135 
136  // file names
139 
140  // es token names
142 
143  // token names
148 
154 
155  // parameters for the selection
168  // parameters for B-field study skim
169  float pMin;
170  float zLengthMin;
172  float zInnerMax;
175  float rExtMax;
176  float redChiSqMax;
178 
179  // histograms for skimming module
180  TH1F *hxnRecHits;
181  TH1F *hxnSegments;
190 
192 };
193 #endif
edm::EDGetTokenT< CSCSegmentCollection > seg_token
Definition: CSCSkim.h:150
TH1F * hxnRecHitsSel
Definition: CSCSkim.h:183
edm::EDGetTokenT< reco::TrackCollection > sam_token
Definition: CSCSkim.h:151
float zInnerMax
Definition: CSCSkim.h:172
float rExtMax
Definition: CSCSkim.h:175
bool makeHistogramsForMessyEvents
Definition: CSCSkim.h:163
int nEventsForBFieldStudies
Definition: CSCSkim.h:127
int whichEndcap
Definition: CSCSkim.h:164
int nCSCHitsMin
Definition: CSCSkim.h:171
int nLayersWithHitsMinimum
Definition: CSCSkim.h:158
bool filter(edm::Event &event, const edm::EventSetup &eventSetup) override
Definition: CSCSkim.cc:215
float zLengthMin
Definition: CSCSkim.h:170
int nEventsChambersBothSides
Definition: CSCSkim.h:120
TH1F * mevnRecHits0
Definition: CSCSkim.h:184
TH1F * mevnRecHits1
Definition: CSCSkim.h:187
TH1F * mevnSegments0
Definition: CSCSkim.h:186
~CSCSkim() override
Definition: CSCSkim.cc:114
edm::EDGetTokenT< CSCWireDigiCollection > wds_token
Definition: CSCSkim.h:144
bool doLongSATrack(edm::Handle< reco::TrackCollection > saTracks)
Definition: CSCSkim.cc:1043
TH1F * mevnSegments1
Definition: CSCSkim.h:189
std::string outputFileName
Definition: CSCSkim.h:137
TH1F * hxnRecHits
Definition: CSCSkim.h:180
float pMin
Definition: CSCSkim.h:169
TH1F * xxnCSCHits
Definition: CSCSkim.h:191
int minimumHitChambers
Definition: CSCSkim.h:159
bool doOverlapSkimming(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:510
int nEventsDTOverlap
Definition: CSCSkim.h:124
bool doDTOverlap(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:766
TH1F * xxnTrackerHits
Definition: CSCSkim.h:191
int nEventsOverlappingChambers
Definition: CSCSkim.h:121
int typeOfSkim
Definition: CSCSkim.h:157
edm::EDGetTokenT< reco::TrackCollection > trk_token
Definition: CSCSkim.h:152
int nEventsSelected
Definition: CSCSkim.h:119
float zLengthTrMin
Definition: CSCSkim.h:174
int whichChamber
Definition: CSCSkim.h:167
TH1F * hxnSegments
Definition: CSCSkim.h:181
int minimumSegments
Definition: CSCSkim.h:160
edm::EDGetTokenT< reco::MuonCollection > glm_token
Definition: CSCSkim.h:153
tuple strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers.hcal.doNoise = False simEcalUnsuppressedDigis.doNoise = False mix.digitizers.ecal.doNoise = False simEcalUnsuppressedDigis.doESNoise = False simSiPixelDigis.AddNoise = False mix.digitizers.pixel.AddNoise = False simSiStripDigis.Noise = False mix.digitizers.strip.AddNoise = False
Definition: DigiDM_cff.py:32
std::string histogramFileName
Definition: CSCSkim.h:138
edm::EDGetTokenT< CSCStripDigiCollection > sds_token
Definition: CSCSkim.h:145
int nValidHitsMin
Definition: CSCSkim.h:177
edm::EDGetTokenT< CSCRecHit2DCollection > rh_token
Definition: CSCSkim.h:149
bool makeHistograms
Definition: CSCSkim.h:162
int nEventsLongSATrack
Definition: CSCSkim.h:126
int nTrHitsMin
Definition: CSCSkim.h:173
bool doCSCSkimming(edm::Handle< CSCRecHit2DCollection > cscRecHits, edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:375
bool doCertainChamberSelection(edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCStripDigiCollection > strips)
Definition: CSCSkim.cc:728
bool doBFieldStudySelection(edm::Handle< reco::TrackCollection > saTracks, edm::Handle< reco::TrackCollection > Tracks, edm::Handle< reco::MuonCollection > gMuons)
Definition: CSCSkim.cc:1109
int nEventsAnalyzed
Definition: CSCSkim.h:118
bool isSimulation
Definition: CSCSkim.h:156
int nEventsCertainChamber
Definition: CSCSkim.h:123
void beginJob() override
Definition: CSCSkim.cc:119
TH1F * mevnChambers1
Definition: CSCSkim.h:188
TFile * theHistogramFile
Definition: CSCSkim.h:134
int whichStation
Definition: CSCSkim.h:165
bool doMessyEventSkimming(edm::Handle< CSCRecHit2DCollection > cscRecHits, edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:592
int nEventsMessy
Definition: CSCSkim.h:122
int whichRing
Definition: CSCSkim.h:166
const edm::ESGetToken< CSCGeometry, MuonGeometryRecord > m_CSCGeomToken
Definition: CSCSkim.h:141
TH1F * hxnHitChambers
Definition: CSCSkim.h:182
int chamberSerial(int kE, int kS, int kR, int kCh)
Definition: CSCSkim.cc:1293
int iEvent
Definition: CSCSkim.h:131
tuple wires
Definition: DigiDM_cff.py:33
void endJob() override
Definition: CSCSkim.cc:167
CSCSkim(const edm::ParameterSet &pset)
Definition: CSCSkim.cc:51
edm::EDGetTokenT< CSCWireDigiCollection > wdr_token
Definition: CSCSkim.h:146
int nEventsHaloLike
Definition: CSCSkim.h:125
edm::EDGetTokenT< CSCStripDigiCollection > sdr_token
Definition: CSCSkim.h:147
int iRun
Definition: CSCSkim.h:130
TH1F * xxnValidHits
Definition: CSCSkim.h:191
TH1F * mevnChambers0
Definition: CSCSkim.h:185
TH1F * xxredChiSq
Definition: CSCSkim.h:191
bool demandChambersBothSides
Definition: CSCSkim.h:161
TH1F * xxP
Definition: CSCSkim.h:191
bool doHaloLike(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:885
float redChiSqMax
Definition: CSCSkim.h:176