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 
73 class CSCSkim : public edm::EDFilter {
74  public:
75  // Constructor
76  explicit CSCSkim(const edm::ParameterSet& pset);
77 
78  // Destructor
79  ~CSCSkim();
80 
81  // Analysis routines
82  virtual void beginJob() override;
83  virtual bool filter(edm::Event& event, const edm::EventSetup& eventSetup) override;
84  virtual void endJob() override;
85 
86 protected:
87 
88 private:
89 
90  // main skimming routine
93 
94  // extra skimming routine for alignment studies
96 
97  // skimming routine for messy events
100 
101  // select events with DIGIs in a certain chamber
104 
105  // select events which might probe the DT-CSC overlap region
107 
108  // select muons which go through inner part of stations 1,2,3,4
110 
111  // select events with long stand-alone (cosmic) muons
113 
114  // select events suitable for magnetic field studies - they have a track in the tracker
116 
117  // some useful functions
118  int chamberSerial(int kE, int kS, int kR, int kCh);
119 
120  // counters
131 
132  // run and event number
133  int iRun;
134  int iEvent;
135 
136  // The root file for the histograms.
138 
139  // file 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 
180  // histograms for skimming module
181  TH1F *hxnRecHits;
182  TH1F *hxnSegments;
191 
193 
194 };
195 #endif
edm::EDGetTokenT< CSCSegmentCollection > seg_token
Definition: CSCSkim.h:150
TH1F * hxnRecHitsSel
Definition: CSCSkim.h:184
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:130
int whichEndcap
Definition: CSCSkim.h:164
int nCSCHitsMin
Definition: CSCSkim.h:171
int nLayersWithHitsMinimum
Definition: CSCSkim.h:158
virtual bool filter(edm::Event &event, const edm::EventSetup &eventSetup) override
Definition: CSCSkim.cc:230
float zLengthMin
Definition: CSCSkim.h:170
int nEventsChambersBothSides
Definition: CSCSkim.h:123
TH1F * mevnRecHits0
Definition: CSCSkim.h:185
TH1F * mevnRecHits1
Definition: CSCSkim.h:188
TH1F * mevnSegments0
Definition: CSCSkim.h:187
~CSCSkim()
Definition: CSCSkim.cc:118
edm::EDGetTokenT< CSCWireDigiCollection > wds_token
Definition: CSCSkim.h:144
bool doLongSATrack(edm::Handle< reco::TrackCollection > saTracks)
Definition: CSCSkim.cc:1005
TH1F * mevnSegments1
Definition: CSCSkim.h:190
std::string outputFileName
Definition: CSCSkim.h:140
TH1F * hxnRecHits
Definition: CSCSkim.h:181
float pMin
Definition: CSCSkim.h:169
TH1F * xxnCSCHits
Definition: CSCSkim.h:192
int minimumHitChambers
Definition: CSCSkim.h:159
bool doOverlapSkimming(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:493
int nEventsDTOverlap
Definition: CSCSkim.h:127
bool doDTOverlap(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:752
TH1F * xxnTrackerHits
Definition: CSCSkim.h:192
int nEventsOverlappingChambers
Definition: CSCSkim.h:124
int typeOfSkim
Definition: CSCSkim.h:157
edm::EDGetTokenT< reco::TrackCollection > trk_token
Definition: CSCSkim.h:152
int nEventsSelected
Definition: CSCSkim.h:122
float zLengthTrMin
Definition: CSCSkim.h:174
int whichChamber
Definition: CSCSkim.h:167
TH1F * hxnSegments
Definition: CSCSkim.h:182
int minimumSegments
Definition: CSCSkim.h:160
edm::EDGetTokenT< reco::MuonCollection > glm_token
Definition: CSCSkim.h:153
std::string histogramFileName
Definition: CSCSkim.h:141
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:129
int nTrHitsMin
Definition: CSCSkim.h:173
bool doCSCSkimming(edm::Handle< CSCRecHit2DCollection > cscRecHits, edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:365
bool doCertainChamberSelection(edm::Handle< CSCWireDigiCollection > wires, edm::Handle< CSCStripDigiCollection > strips)
Definition: CSCSkim.cc:706
bool doBFieldStudySelection(edm::Handle< reco::TrackCollection > saTracks, edm::Handle< reco::TrackCollection > Tracks, edm::Handle< reco::MuonCollection > gMuons)
Definition: CSCSkim.cc:1081
int nEventsAnalyzed
Definition: CSCSkim.h:121
bool isSimulation
Definition: CSCSkim.h:156
int nEventsCertainChamber
Definition: CSCSkim.h:126
virtual void beginJob() override
Definition: CSCSkim.cc:127
TH1F * mevnChambers1
Definition: CSCSkim.h:189
TFile * theHistogramFile
Definition: CSCSkim.h:137
int whichStation
Definition: CSCSkim.h:165
bool doMessyEventSkimming(edm::Handle< CSCRecHit2DCollection > cscRecHits, edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:575
int nEventsMessy
Definition: CSCSkim.h:125
int whichRing
Definition: CSCSkim.h:166
TH1F * hxnHitChambers
Definition: CSCSkim.h:183
int chamberSerial(int kE, int kS, int kR, int kCh)
Definition: CSCSkim.cc:1272
int iEvent
Definition: CSCSkim.h:134
virtual void endJob() override
Definition: CSCSkim.cc:182
CSCSkim(const edm::ParameterSet &pset)
Definition: CSCSkim.cc:52
edm::EDGetTokenT< CSCWireDigiCollection > wdr_token
Definition: CSCSkim.h:146
int nEventsHaloLike
Definition: CSCSkim.h:128
edm::EDGetTokenT< CSCStripDigiCollection > sdr_token
Definition: CSCSkim.h:147
int iRun
Definition: CSCSkim.h:133
TH1F * xxnValidHits
Definition: CSCSkim.h:192
TH1F * mevnChambers0
Definition: CSCSkim.h:186
TH1F * xxredChiSq
Definition: CSCSkim.h:192
Definition: event.py:1
bool demandChambersBothSides
Definition: CSCSkim.h:161
TH1F * xxP
Definition: CSCSkim.h:192
bool doHaloLike(edm::Handle< CSCSegmentCollection > cscSegments)
Definition: CSCSkim.cc:860
float redChiSqMax
Definition: CSCSkim.h:176