CMS 3D CMS Logo

EcalCosmicsHists.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: EcalCosmicsHists
4 // Class: EcalCosmicsHists
5 //
13 //
14 // Original Author: Seth COOPER
15 // Created: Th Nov 22 5:46:22 CEST 2007
16 //
17 //
18 
19 // system include files
20 #include <memory>
21 #include <vector>
22 #include <map>
23 
24 // user include files
30 
35 
47 
50 
52 
53 #include "TFile.h"
54 #include "TH1F.h"
55 #include "TH2F.h"
56 #include "TH3F.h"
57 #include "TGraph.h"
58 #include "TNtuple.h"
59 
60 // *** for TrackAssociation
68 // ***
69 
70 //
71 // class declaration
72 //
73 
74 class EcalCosmicsHists : public edm::one::EDAnalyzer<edm::one::WatchRuns> {
75 public:
76  explicit EcalCosmicsHists(const edm::ParameterSet&);
77  ~EcalCosmicsHists() override;
78 
79 private:
80  void beginRun(edm::Run const&, edm::EventSetup const&) override;
81  void endRun(edm::Run const&, edm::EventSetup const&) override;
82  void analyze(edm::Event const&, edm::EventSetup const&) override;
83  void endJob() override;
85  void initHists(int);
86  std::vector<bool> determineTriggers(const edm::Event&, const edm::EventSetup& eventSetup);
87 
88  // ----------member data ---------------------------
89 
97 
111 
115 
116  int runNum_;
118  const double minTimingAmpEB_;
119  const double minTimingAmpEE_;
120  const double minRecHitAmpEB_;
121  const double minRecHitAmpEE_;
122  const double minHighEnergy_;
123 
124  double* ttEtaBins;
125  double* modEtaBins;
127  const bool runInFileName_;
128 
129  const double startTime_, runTimeLength_;
130  const int numTimingBins_;
131 
132  std::map<int, TH1F*> FEDsAndHists_;
133  std::map<int, TH1F*> FEDsAndE2Hists_;
134  std::map<int, TH1F*> FEDsAndenergyHists_;
135  std::map<int, TH1F*> FEDsAndTimingHists_;
136  std::map<int, TH1F*> FEDsAndFrequencyHists_;
137  std::map<int, TH1F*> FEDsAndiPhiProfileHists_;
138  std::map<int, TH1F*> FEDsAndNumXtalsInClusterHists_;
139  std::map<int, TH1F*> FEDsAndiEtaProfileHists_;
140  std::map<int, TH2F*> FEDsAndTimingVsFreqHists_;
141  std::map<int, TH2F*> FEDsAndTimingVsAmpHists_;
142  std::map<int, TH2F*> FEDsAndE2vsE1Hists_;
143  std::map<int, TH2F*> FEDsAndenergyvsE1Hists_;
144  std::map<int, TH2F*> FEDsAndOccupancyHists_;
145  std::map<int, TH2F*> FEDsAndTimingVsPhiHists_;
146  std::map<int, TH2F*> FEDsAndTimingVsEtaHists_;
147  std::map<int, TH2F*> FEDsAndTimingVsModuleHists_;
148  std::map<int, TH2F*> FEDsAndDCCRuntypeVsBxHists_;
149 
164 
166 
167  //TH1F* numberofSCCosmicsHist_;//SC Num cosmics
168  TH1F* numberofBCinSC_; //SC Num cosmics
169  TH2F* numberofBCinSCphi_; //SC
170 
173 
176 
179  TH2F* allOccupancy_; //New file to do eta-phi occupancy
180  TH2F* TrueOccupancy_; //New file to do eta-phi occupancy
181  TH2F* allOccupancyCoarse_; //New file to do eta-phi occupancy
182  TH2F* TrueOccupancyCoarse_; //New file to do eta-phi occupancy
183 
184  // single xtal clusters
187 
197 
204 
213 
222 
231 
240 
249 
251 
254 
258 
260  TH1F* deltaRHist_;
268 
269  // DCC Event type (runtype) vs. bx
276 
277  // track association
282 
283  // top & bottom
286 
287  // hcal energy
292 
293  // high energy analysis (inherited from serena)
299 
302 
305 
310 
317 
321 
322  //for timestamp information
328 
329  // Plots for EE
339 
345 
347 
350 
354 
361 
368 
375 
382 
389 
392 
395 
396  // EE-
406 
412 
414 
417 
421 
428 
435 
442 
449 
456 
459 
462 
464 
465  TFile* file;
466 
472 
473  std::vector<int> l1Accepts_;
474  std::vector<std::string> l1Names_;
475 
477 };
TH3F * EEM_FedsTimingTTHistECAL_
TH2F * allFedsTimingLMHistECAL_
TH2F * allOccupancyExclusiveECAL_
TH3F * allFedsTimingTTHistRPC_
TH3F * HighEnergy_0tracks_occu3D
TH2F * allOccupancyCoarseExclusiveCSC_
TH2F * EEM_OccupancySingleXtal_
const edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > l1MenuToken_
std::string intToString(int num)
std::map< int, TH1F * > FEDsAndNumXtalsInClusterHists_
TH3F * allFedsTimingTTHistCSC_
std::map< int, TH2F * > FEDsAndTimingVsAmpHists_
const double minHighEnergy_
TH2F * EEP_FedsenergyvsE1Hist_
TH2F * allOccupancyExclusiveHCAL_
TH2F * HighEnergy_bestSeedOccupancy
const edm::EDGetTokenT< EcalRecHitCollection > ebRecHitToken_
TH2F * allOccupancyCoarseExclusiveECAL_
TH3F * allFedsTimingPhiEtaHistCSC_
const double minRecHitAmpEB_
std::map< int, TH2F * > FEDsAndE2vsE1Hists_
TH1F * EEM_FedsenergyHighHist_
TH2F * EEM_numxtalsVsHighEnergy_
TH1F * allFedsiPhiProfileHist_
TH1F * EEM_numberofCosmicsHist_
TH3F * EEM_FedsTimingTTHistCSC_
TH1F * EEP_FedsenergyHighHist_
TH2F * allOccupancyExclusiveRPC_
TH1F * allFedsiEtaProfileHist_
EcalFedMap * fedMap_
TH3F * allFedsTimingPhiEtaHistECAL_
edm::InputTag ecalRawDataColl_
TH2F * allOccupancyCoarseExclusiveHCAL_
EcalCosmicsHists(const edm::ParameterSet &)
TH2F * EEP_OccupancyExclusiveHCAL_
TH1F * EEP_energySingleXtalHist_
TH1F * allFedsTimingEbpTopHist_
TH2F * EEM_OccupancyExclusiveDT_
void endJob() override
const double minTimingAmpEB_
std::map< int, TH2F * > FEDsAndTimingVsPhiHists_
TH2F * allFedsTimingLMHistHCAL_
const edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_
TH2F * allFedsTimingVsFreqHist_
TH1F * EEM_energySingleXtalHist_
TH2F * EEP_numxtalsVsHighEnergy_
TH2F * EEM_FedsTimingVsAmpHist_
TH1F * EEP_FedsSeedEnergyHist_
TH1F * allFedsTimingEbpBottomHist_
std::map< int, TH1F * > FEDsAndE2Hists_
TH3F * allFedsTimingPhiEtaHistDT_
TH2F * EEP_OccupancyCoarseECAL_
const int numTimingBins_
TH1F * numberofCosmicsWTrackHist_
const double minTimingAmpEE_
TH3F * EEP_FedsTimingTTHistRPC_
const edm::EDGetTokenT< HBHERecHitCollection > hbheRecHitToken_
TH2F * allFedsFreqTimeVsPhiHist_
TH2F * HighEnergy_2GeV_occuCoarse
TH1F * dccRuntypeErrorByFEDHist_
std::map< int, TH2F * > FEDsAndTimingVsModuleHists_
TH3F * allFedsTimingPhiEtaHistRPC_
TH3F * HighEnergy_1tracks_occu3DXtal
void analyze(edm::Event const &, edm::EventSetup const &) override
TH3F * allFedsTimingPhiEtaHistHCAL_
TH3F * EEM_FedsTimingTTHistDT_
const edm::EDGetTokenT< HFRecHitCollection > hfRecHitToken_
~EcalCosmicsHists() override
TH2F * EEM_OccupancyExclusiveECAL_
const bool runInFileName_
TH2F * EEM_OccupancyCoarseHCAL_
TH3F * EEM_FedsTimingTTHistRPC_
TH3F * HighEnergy_2tracks_occu3D
TH2F * HighEnergy_100GeV_occuCoarse
TH2F * allOccupancyCoarseExclusiveDT_
const edm::EDGetTokenT< reco::TrackCollection > tracksBarrelToken_
TH2F * EEP_OccupancyExclusiveCSC_
TH2F * allOccupancyHighEnergy_
edm::InputTag endcapClusterCollection_
TH2F * EEP_OccupancyExclusiveDT_
std::map< int, TH2F * > FEDsAndDCCRuntypeVsBxHists_
const edm::EDGetTokenT< HORecHitCollection > hoRecHitToken_
TH2F * EEM_OccupancyCoarseExclusiveCSC_
const edm::EDGetTokenT< L1MuGMTReadoutCollection > l1MuGMTToken_
TH2F * HighEnergy_NumXtalFedId
TH3F * allFedsTimingTTHistECAL_
TH1F * allFedsTimingEbmTopHist_
void endRun(edm::Run const &, edm::EventSetup const &) override
std::vector< bool > determineTriggers(const edm::Event &, const edm::EventSetup &eventSetup)
TH2F * allFedsFreqTimeVsEtaTTHist_
TH2F * EEM_OccupancyExclusiveRPC_
TH2F * EEM_OccupancyHighEnergy_
std::map< int, TH2F * > FEDsAndTimingVsEtaHists_
TH1F * EEP_FedsTimingHistHCAL_
TH2F * allFedsTimingPhiEbmHist_
TH2F * EEM_OccupancyCoarseECAL_
std::map< int, TH1F * > FEDsAndiPhiProfileHists_
TH2F * EEM_OccupancyCoarseExclusiveRPC_
std::map< int, TH1F * > FEDsAndFrequencyHists_
const edm::ESGetToken< EcalADCToGeVConstant, EcalADCToGeVConstantRcd > ecalADCToGeVConstantToken_
const edm::EDGetTokenT< EcalRawDataCollection > ecalRawDataToken_
TH1F * EEP_numberofCosmicsHist_
TH2F * EEP_OccupancyHighEnergyCoarse_
TH1F * EEP_FedsNumXtalsInClusterHist_
TH3F * EEP_FedsTimingTTHistHCAL_
TH3F * HighEnergy_1tracks_occu3D
TH1F * allFedsenergyOnlyHighHist_
std::map< int, TH1F * > FEDsAndenergyHists_
TH1F * EEP_triggerExclusiveHist_
TH2F * EEP_OccupancyCoarseExclusiveECAL_
TH1F * EEM_FedsSeedEnergyHist_
TH3F * HighEnergy_100GeV_occu3D
std::map< int, TH2F * > FEDsAndenergyvsE1Hists_
TH3F * EEP_FedsTimingTTHistECAL_
TH2F * HighEnergy_energyNumXtal
TH3F * allFedsTimingTTHistHCAL_
TH1F * HighEnergy_ratioClusters
TH2F * EEM_OccupancyExclusiveCSC_
TH2F * EEP_OccupancyCoarseExclusiveHCAL_
std::string fileName_
TH2F * EEM_OccupancyCoarseRPC_
TH2F * EEP_AllOccupancyCoarse_
TH2F * EEP_OccupancyCoarseCSC_
const EcalElectronicsMapping * ecalElectronicsMap_
TrackDetectorAssociator trackAssociator_
TH1F * numberofCosmicsTopBottomHist_
TH2F * EEP_OccupancySingleXtal_
TH2F * EEM_OccupancyCoarseExclusiveECAL_
TH1F * allFedsTimingHistEcalMuon_
TH2F * EEP_OccupancyExclusiveECAL_
TrackAssociatorParameters trackParameters_
TH1F * EEM_triggerExclusiveHist_
TH1F * EEM_FedsTimingHistHCAL_
TH1F * HighEnergy_TracksAngleTopBottom
std::map< int, TH2F * > FEDsAndOccupancyHists_
TH1F * EEP_FedsTimingHistECAL_
TH2F * allFedsTimingPhiEbpHist_
TH2F * allOccupancyExclusiveDT_
TH2F * EEM_OccupancyCoarseExclusiveHCAL_
TH2F * allOccupancySingleXtal_
TH2F * EEP_OccupancyCoarseExclusiveCSC_
TH2F * allFedsTimingVsAmpHist_
TH3F * allFedsTimingPhiEtaHist_
TH1F * ratioAssocClustersHist_
edm::InputTag l1GMTReadoutRecTag_
TH2F * EEM_FedsenergyvsE1Hist_
TH2F * EEM_OccupancyCoarseCSC_
TH2F * allOccupancyExclusiveCSC_
TH1F * HighEnergy_numClusHighEn
TH2F * allFedsFreqTimeVsEtaHist_
TH2F * EEP_OccupancyExclusiveRPC_
const edm::EDGetTokenT< EcalRecHitCollection > eeRecHitToken_
void beginRun(edm::Run const &, edm::EventSetup const &) override
const double startTime_
std::vector< int > l1Accepts_
TH1F * EEM_FedsTimingHistECAL_
const double minRecHitAmpEE_
TH2F * allFedsTimingLMHistRPC_
const double histRangeMin_
const edm::EDGetTokenT< reco::TrackCollection > tracksToken_
const double runTimeLength_
TH1F * dccOrbitErrorByFEDHist_
TH1F * numberofCrossedEcalIdsHist_
TH2F * allFedsTimingLMHistCSC_
TH3F * EEM_FedsTimingTTHistHCAL_
TH2F * allOccupancyCoarseECAL_
TH2F * EEP_OccupancyCoarseHCAL_
TH1F * EEM_FedsenergyOnlyHighHist_
TH1F * EEP_NumXtalsInClusterHist_
TH1F * allFedsNumXtalsInClusterHist_
const edm::EDGetTokenT< reco::SuperClusterCollection > barrelClusterToken_
const edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > l1GTReadoutToken_
TH2F * EEM_OccupancyExclusiveHCAL_
TH2F * allOccupancyCoarseExclusiveRPC_
TH2F * EEP_OccupancyCoarseExclusiveRPC_
std::map< int, TH1F * > FEDsAndiEtaProfileHists_
TH2F * EEM_OccupancyCoarseExclusiveDT_
std::map< int, TH1F * > FEDsAndTimingHists_
TH2F * EEP_OccupancyCoarseRPC_
TH3F * HighEnergy_2tracks_occu3DXtal
TH1F * EEM_NumXtalsInClusterHist_
TH2F * allOccupancyHighEnergyCoarse_
TH2F * EEP_OccupancyHighEnergy_
TH3F * allFedsOccupancyHighEnergyHist_
TH2F * EEM_AllOccupancyCoarse_
TH3F * EEP_FedsTimingTTHistCSC_
TH3F * EEP_FedsTimingTTHistDT_
TH2F * EEP_FedsTimingVsAmpHist_
std::vector< std::string > l1Names_
const edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtRecordToken_
TH1F * EEM_FedsNumXtalsInClusterHist_
TH2F * allFedsFreqTimeVsPhiTTHist_
edm::InputTag l1GTReadoutRecTag_
edm::InputTag barrelClusterCollection_
TH2F * EEM_OccupancyHighEnergyCoarse_
TH1F * allFedsTimingEbmBottomHist_
TH1F * EEP_FedsenergyOnlyHighHist_
std::map< int, TH1F * > FEDsAndHists_
const edm::EDGetTokenT< reco::SuperClusterCollection > endcapClusterToken_
const double histRangeMax_
std::map< int, TH2F * > FEDsAndTimingVsFreqHists_
Definition: Run.h:45
edm::InputTag ecalRecHitCollectionEB_
TH1F * HighEnergy_numRecoTrackBarrel
TH2F * EEP_OccupancyCoarseExclusiveDT_
TH3F * HighEnergy_0tracks_occu3DXtal
TH2F * allOccupancyCoarseHCAL_
edm::InputTag ecalRecHitCollectionEE_