CMS 3D CMS Logo

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::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  // token names
145 
151 
152  // parameters for the selection
165  // parameters for B-field study skim
166  float pMin;
167  float zLengthMin;
169  float zInnerMax;
172  float rExtMax;
173  float redChiSqMax;
175 
176  // histograms for skimming module
177  TH1F *hxnRecHits;
178  TH1F *hxnSegments;
187 
189 };
190 #endif
edm::EDGetTokenT< CSCSegmentCollection > seg_token
Definition: CSCSkim.h:147
TH1F * hxnRecHitsSel
Definition: CSCSkim.h:180
edm::EDGetTokenT< reco::TrackCollection > sam_token
Definition: CSCSkim.h:148
float zInnerMax
Definition: CSCSkim.h:169
float rExtMax
Definition: CSCSkim.h:172
bool makeHistogramsForMessyEvents
Definition: CSCSkim.h:160
int nEventsForBFieldStudies
Definition: CSCSkim.h:127
int whichEndcap
Definition: CSCSkim.h:161
int nCSCHitsMin
Definition: CSCSkim.h:168
int nLayersWithHitsMinimum
Definition: CSCSkim.h:155
bool filter(edm::Event &event, const edm::EventSetup &eventSetup) override
Definition: CSCSkim.cc:215
float zLengthMin
Definition: CSCSkim.h:167
int nEventsChambersBothSides
Definition: CSCSkim.h:120
TH1F * mevnRecHits0
Definition: CSCSkim.h:181
TH1F * mevnRecHits1
Definition: CSCSkim.h:184
TH1F * mevnSegments0
Definition: CSCSkim.h:183
~CSCSkim() override
Definition: CSCSkim.cc:114
edm::EDGetTokenT< CSCWireDigiCollection > wds_token
Definition: CSCSkim.h:141
bool doLongSATrack(edm::Handle< reco::TrackCollection > saTracks)
Definition: CSCSkim.cc:1044
TH1F * mevnSegments1
Definition: CSCSkim.h:186
std::string outputFileName
Definition: CSCSkim.h:137
TH1F * hxnRecHits
Definition: CSCSkim.h:177
float pMin
Definition: CSCSkim.h:166
TH1F * xxnCSCHits
Definition: CSCSkim.h:188
int minimumHitChambers
Definition: CSCSkim.h:156
bool doOverlapSkimming(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:511
int nEventsDTOverlap
Definition: CSCSkim.h:124
bool doDTOverlap(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:767
TH1F * xxnTrackerHits
Definition: CSCSkim.h:188
int nEventsOverlappingChambers
Definition: CSCSkim.h:121
int typeOfSkim
Definition: CSCSkim.h:154
edm::EDGetTokenT< reco::TrackCollection > trk_token
Definition: CSCSkim.h:149
int nEventsSelected
Definition: CSCSkim.h:119
float zLengthTrMin
Definition: CSCSkim.h:171
int whichChamber
Definition: CSCSkim.h:164
TH1F * hxnSegments
Definition: CSCSkim.h:178
int minimumSegments
Definition: CSCSkim.h:157
edm::EDGetTokenT< reco::MuonCollection > glm_token
Definition: CSCSkim.h:150
std::string histogramFileName
Definition: CSCSkim.h:138
edm::EDGetTokenT< CSCStripDigiCollection > sds_token
Definition: CSCSkim.h:142
int nValidHitsMin
Definition: CSCSkim.h:174
edm::EDGetTokenT< CSCRecHit2DCollection > rh_token
Definition: CSCSkim.h:146
bool makeHistograms
Definition: CSCSkim.h:159
int nEventsLongSATrack
Definition: CSCSkim.h:126
int nTrHitsMin
Definition: CSCSkim.h:170
bool doCSCSkimming(edm::Handle< CSCRecHit2DCollection > cscRecHits, edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:376
bool doCertainChamberSelection(edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCStripDigiCollection > strips)
Definition: CSCSkim.cc:729
bool doBFieldStudySelection(edm::Handle< reco::TrackCollection > saTracks, edm::Handle< reco::TrackCollection > Tracks, edm::Handle< reco::MuonCollection > gMuons)
Definition: CSCSkim.cc:1110
int nEventsAnalyzed
Definition: CSCSkim.h:118
bool isSimulation
Definition: CSCSkim.h:153
int nEventsCertainChamber
Definition: CSCSkim.h:123
void beginJob() override
Definition: CSCSkim.cc:119
TH1F * mevnChambers1
Definition: CSCSkim.h:185
TFile * theHistogramFile
Definition: CSCSkim.h:134
int whichStation
Definition: CSCSkim.h:162
bool doMessyEventSkimming(edm::Handle< CSCRecHit2DCollection > cscRecHits, edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:593
int nEventsMessy
Definition: CSCSkim.h:122
int whichRing
Definition: CSCSkim.h:163
TH1F * hxnHitChambers
Definition: CSCSkim.h:179
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
int chamberSerial(int kE, int kS, int kR, int kCh)
Definition: CSCSkim.cc:1294
int iEvent
Definition: CSCSkim.h:131
void endJob() override
Definition: CSCSkim.cc:167
CSCSkim(const edm::ParameterSet &pset)
Definition: CSCSkim.cc:51
edm::EDGetTokenT< CSCWireDigiCollection > wdr_token
Definition: CSCSkim.h:143
int nEventsHaloLike
Definition: CSCSkim.h:125
edm::EDGetTokenT< CSCStripDigiCollection > sdr_token
Definition: CSCSkim.h:144
int iRun
Definition: CSCSkim.h:130
TH1F * xxnValidHits
Definition: CSCSkim.h:188
TH1F * mevnChambers0
Definition: CSCSkim.h:182
TH1F * xxredChiSq
Definition: CSCSkim.h:188
Definition: event.py:1
bool demandChambersBothSides
Definition: CSCSkim.h:158
TH1F * xxP
Definition: CSCSkim.h:188
bool doHaloLike(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:886
float redChiSqMax
Definition: CSCSkim.h:173