CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
EcalDisplaysByEvent Class Reference

#include <EcalDisplaysByEvent.h>

Inheritance diagram for EcalDisplaysByEvent:
edm::one::EDAnalyzer< edm::one::WatchRuns > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 EcalDisplaysByEvent (const edm::ParameterSet &)
 
 ~EcalDisplaysByEvent () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Types

enum  Ecal2DHistSubDetType {
  EB_FINE = 0, EB_COARSE = 1, EEM_FINE = 2, EEM_COARSE = 3,
  EEP_FINE = 4, EEP_COARSE = 5
}
 

Private Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void deleteEvtByEvtHists ()
 
void drawCanvas (TCanvas *canvas, TH1F *hist1, TH1F *hist2, TH1F *hist3)
 
void drawCanvas (TCanvas *canvas, TH2F *hist1, TH2F *hist2, TH2F *hist3)
 
void drawCanvas (TCanvas *canvas, TH3F *hist1, TH3F *hist2, TH3F *hist3)
 
void drawEELines ()
 
void drawHistos ()
 
void drawTimingErrors (TProfile2D *profile)
 
void endJob () override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
std::string floatToString (float num)
 
int getEEIndex (EcalElectronicsId elecId)
 
TCanvas * init2DEcalCanvas (std::string canvasName)
 
TH2F * init2DEcalHist (std::string histTypeName, int subDet)
 
TH3F * init3DEcalHist (std::string histTypeName, int dubDet)
 
void initAllEventHistos ()
 
void initEvtByEvtHists (int naiveEvtNum_, int ievt)
 
void initHists (int)
 
std::string intToString (int num)
 
void makeHistos (edm::Handle< EBDigiCollection > ebDigis)
 
void makeHistos (edm::Handle< EEDigiCollection > eeDigis)
 
void makeHistos (edm::Handle< EcalRecHitCollection > hits)
 
TGraph * selectDigi (DetId det, int ievt)
 
void selectHits (edm::Handle< EcalRecHitCollection > hits, int ievt)
 

Private Attributes

int abscissa [10]
 
TH1F * allFedsTimingHist_
 
const CaloTopologycaloTopo_
 
TTree * canvasNames_
 
std::map< int, float > crysAndAmplitudesMap_
 
TCanvas * digiOccupancyCanvas_
 
TCanvas * digiOccupancyCanvasAll_
 
TCanvas * digiOccupancyCoarseCanvas_
 
TCanvas * digiOccupancyCoarseCanvasAll_
 
TH2F * digiOccupancyEB_
 
TH2F * digiOccupancyEBAll_
 
TH2F * digiOccupancyEBcoarse_
 
TH2F * digiOccupancyEBcoarseAll_
 
TH2F * digiOccupancyEEM_
 
TH2F * digiOccupancyEEMAll_
 
TH2F * digiOccupancyEEMcoarse_
 
TH2F * digiOccupancyEEMcoarseAll_
 
TH2F * digiOccupancyEEP_
 
TH2F * digiOccupancyEEPAll_
 
TH2F * digiOccupancyEEPcoarse_
 
TH2F * digiOccupancyEEPcoarseAll_
 
const edm::InputTag EBDigis_
 
edm::Handle< EBDigiCollectionEBdigisHandle
 
const edm::EDGetTokenT< EBDigiCollectionebDigiToken_
 
const edm::InputTag EBRecHitCollection_
 
const edm::EDGetTokenT< EcalRecHitCollectionebRecHitToken_
 
const EcalElectronicsMappingecalElectronicsMap_
 
const edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcdecalMappingToken_
 
const edm::InputTag EEDigis_
 
edm::Handle< EEDigiCollectionEEdigisHandle
 
const edm::EDGetTokenT< EEDigiCollectioneeDigiToken_
 
const edm::InputTag EERecHitCollection_
 
const edm::EDGetTokenT< EcalRecHitCollectioneeRecHitToken_
 
TCanvas * energyCanvas_
 
TCanvas * energyCanvasAll_
 
TH1F * energyEB_
 
TH1F * energyEBAll_
 
TH1F * energyEEM_
 
TH1F * energyEEMAll_
 
TH1F * energyEEP_
 
TH1F * energyEEPAll_
 
TCanvas * energyMapCanvas_
 
TCanvas * energyMapCanvasAll_
 
TCanvas * energyMapCoarseCanvas_
 
TCanvas * energyMapCoarseCanvasAll_
 
TH2F * energyMapEB_
 
TH2F * energyMapEBAll_
 
TH2F * energyMapEBcoarse_
 
TH2F * energyMapEBcoarseAll_
 
TH2F * energyMapEEM_
 
TH2F * energyMapEEMAll_
 
TH2F * energyMapEEMcoarse_
 
TH2F * energyMapEEMcoarseAll_
 
TH2F * energyMapEEP_
 
TH2F * energyMapEEPAll_
 
TH2F * energyMapEEPcoarse_
 
TH2F * energyMapEEPcoarseAll_
 
EcalFedMapfedMap_
 
std::map< int, EcalDCCHeaderBlockFEDsAndDCCHeaders_
 
std::map< int, TH1F * > FEDsAndTimingHists_
 
const edm::InputTag headerProducer_
 
TTree * histoCanvasNames_
 
std::vector< std::string > * histoCanvasNamesVector
 
const double histRangeMax_
 
const double histRangeMin_
 
std::set< EBDetIdlistEBChannels
 
std::set< EEDetIdlistEEChannels
 
const bool makeDigiGraphs_
 
const bool makeEnergyHistos_
 
const bool makeOccupancyHistos_
 
const bool makeTimingHistos_
 
std::vector< int > maskedChannels_
 
std::vector< std::string > maskedEBs_
 
std::vector< int > maskedFEDs_
 
const double minTimingAmp_
 
const double minTimingEnergyEB_
 
const double minTimingEnergyEE_
 
int naiveEvtNum_
 
std::vector< std::string > * names
 
int ordinate [10]
 
const edm::EDGetTokenT< EcalRawDataCollectionrawDataToken_
 
TCanvas * recHitOccupancyCanvas_
 
TCanvas * recHitOccupancyCanvasAll_
 
TCanvas * recHitOccupancyCoarseCanvas_
 
TCanvas * recHitOccupancyCoarseCanvasAll_
 
TH2F * recHitOccupancyEB_
 
TH2F * recHitOccupancyEBAll_
 
TH2F * recHitOccupancyEBcoarse_
 
TH2F * recHitOccupancyEBcoarseAll_
 
TH2F * recHitOccupancyEEM_
 
TH2F * recHitOccupancyEEMAll_
 
TH2F * recHitOccupancyEEMcoarse_
 
TH2F * recHitOccupancyEEMcoarseAll_
 
TH2F * recHitOccupancyEEP_
 
TH2F * recHitOccupancyEEPAll_
 
TH2F * recHitOccupancyEEPcoarse_
 
TH2F * recHitOccupancyEEPcoarseAll_
 
int runNum_
 
std::vector< int > seedCrys_
 
std::map< std::string, int > seedFrequencyMap_
 
const int side_
 
const double threshold_
 
TCanvas * timingCanvas_
 
TCanvas * timingCanvasAll_
 
TH1F * timingEB_
 
TH1F * timingEBAll_
 
TH1F * timingEEM_
 
TH1F * timingEEMAll_
 
TH1F * timingEEP_
 
TH1F * timingEEPAll_
 
TCanvas * timingMapCanvas_
 
TCanvas * timingMapCanvasAll_
 
TCanvas * timingMapCoarseCanvas_
 
TCanvas * timingMapCoarseCanvasAll_
 
TH3F * timingMapEB_
 
TH3F * timingMapEBAll_
 
TH3F * timingMapEBCoarse_
 
TH3F * timingMapEBCoarseAll_
 
TH3F * timingMapEEM_
 
TH3F * timingMapEEMAll_
 
TH3F * timingMapEEMCoarse_
 
TH3F * timingMapEEMCoarseAll_
 
TH3F * timingMapEEP_
 
TH3F * timingMapEEPAll_
 
TH3F * timingMapEEPCoarse_
 
TH3F * timingMapEEPCoarseAll_
 
const edm::ESGetToken< CaloTopology, CaloTopologyRecordtopologyToken_
 

Static Private Attributes

static edm::Service< TFileServicefileService
 
static float gainRatio [3] = {1., 2., 12.}
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 62 of file EcalDisplaysByEvent.h.

Member Enumeration Documentation

◆ Ecal2DHistSubDetType

Constructor & Destructor Documentation

◆ EcalDisplaysByEvent()

EcalDisplaysByEvent::EcalDisplaysByEvent ( const edm::ParameterSet iConfig)
explicit

Definition at line 41 of file EcalDisplaysByEvent.cc.

References abscissa, allFedsTimingHist_, fedMap_, fileService, EcalFedMap::getFedFromSlice(), edm::ParameterSet::getUntrackedParameter(), mps_fire::i, initAllEventHistos(), TFileService::make(), maskedChannels_, maskedEBs_, maskedFEDs_, naiveEvtNum_, and seedCrys_.

42  : EBRecHitCollection_(iConfig.getParameter<edm::InputTag>("EcalRecHitCollectionEB")),
43  EERecHitCollection_(iConfig.getParameter<edm::InputTag>("EcalRecHitCollectionEE")),
44  EBDigis_(iConfig.getParameter<edm::InputTag>("EBDigiCollection")),
45  EEDigis_(iConfig.getParameter<edm::InputTag>("EEDigiCollection")),
46  headerProducer_(iConfig.getParameter<edm::InputTag>("headerProducer")),
47  rawDataToken_(consumes<EcalRawDataCollection>(headerProducer_)),
48  ebRecHitToken_(consumes<EcalRecHitCollection>(EBRecHitCollection_)),
49  eeRecHitToken_(consumes<EcalRecHitCollection>(EERecHitCollection_)),
50  ebDigiToken_(consumes<EBDigiCollection>(EBDigis_)),
51  eeDigiToken_(consumes<EEDigiCollection>(EEDigis_)),
52  ecalMappingToken_(esConsumes<edm::Transition::BeginRun>()),
54  runNum_(-1),
55  side_(iConfig.getUntrackedParameter<int>("side", 3)),
56  threshold_(iConfig.getUntrackedParameter<double>("amplitudeThreshold", 0.5)),
57  minTimingAmp_(iConfig.getUntrackedParameter<double>("minimumTimingAmplitude", 0.100)),
58  makeDigiGraphs_(iConfig.getUntrackedParameter<bool>("makeDigiGraphs", false)),
59  makeTimingHistos_(iConfig.getUntrackedParameter<bool>("makeTimingHistos", true)),
60  makeEnergyHistos_(iConfig.getUntrackedParameter<bool>("makeEnergyHistos", true)),
61  makeOccupancyHistos_(iConfig.getUntrackedParameter<bool>("makeOccupancyHistos", true)),
62  histRangeMin_(iConfig.getUntrackedParameter<double>("histogramMinRange", 0.0)),
63  histRangeMax_(iConfig.getUntrackedParameter<double>("histogramMaxRange", 1.8)),
64  minTimingEnergyEB_(iConfig.getUntrackedParameter<double>("minTimingEnergyEB", 0.0)),
65  minTimingEnergyEE_(iConfig.getUntrackedParameter<double>("minTimingEnergyEE", 0.0)) {
66  vector<int> listDefaults;
67  listDefaults.push_back(-1);
68 
69  maskedChannels_ = iConfig.getUntrackedParameter<vector<int> >("maskedChannels", listDefaults);
70  maskedFEDs_ = iConfig.getUntrackedParameter<vector<int> >("maskedFEDs", listDefaults);
71  seedCrys_ = iConfig.getUntrackedParameter<vector<int> >("seedCrys", listDefaults);
72 
73  vector<string> defaultMaskedEBs;
74  defaultMaskedEBs.push_back("none");
75  maskedEBs_ = iConfig.getUntrackedParameter<vector<string> >("maskedEBs", defaultMaskedEBs);
76 
77  fedMap_ = new EcalFedMap();
78 
79  string title1 = "Jitter for all FEDs all events";
80  string name1 = "JitterAllFEDsAllEvents";
81  allFedsTimingHist_ = fileService->make<TH1F>(name1.c_str(), title1.c_str(), 150, -7, 7);
82 
83  // load up the maskedFED list with the proper FEDids
84  if (maskedFEDs_[0] == -1) {
85  //if "actual" EB id given, then convert to FEDid and put in listFEDs_
86  if (maskedEBs_[0] != "none") {
87  maskedFEDs_.clear();
88  for (vector<string>::const_iterator ebItr = maskedEBs_.begin(); ebItr != maskedEBs_.end(); ++ebItr) {
89  maskedFEDs_.push_back(fedMap_->getFedFromSlice(*ebItr));
90  }
91  }
92  }
93 
94  for (int i = 0; i < 10; i++)
95  abscissa[i] = i;
96 
97  naiveEvtNum_ = 0;
98 
100 }
std::vector< std::string > maskedEBs_
const edm::InputTag headerProducer_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::EDGetTokenT< EcalRawDataCollection > rawDataToken_
std::vector< int > maskedChannels_
int getFedFromSlice(std::string)
Definition: EcalFedMap.cc:96
const double minTimingEnergyEB_
const edm::InputTag EBRecHitCollection_
const edm::InputTag EEDigis_
T getUntrackedParameter(std::string const &, T const &) const
const edm::InputTag EERecHitCollection_
const edm::EDGetTokenT< EcalRecHitCollection > ebRecHitToken_
std::vector< int > maskedFEDs_
const edm::EDGetTokenT< EEDigiCollection > eeDigiToken_
const edm::InputTag EBDigis_
const edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_
const edm::EDGetTokenT< EcalRecHitCollection > eeRecHitToken_
static edm::Service< TFileService > fileService
const double minTimingEnergyEE_
const edm::ESGetToken< CaloTopology, CaloTopologyRecord > topologyToken_
std::vector< int > seedCrys_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
const edm::EDGetTokenT< EBDigiCollection > ebDigiToken_

◆ ~EcalDisplaysByEvent()

EcalDisplaysByEvent::~EcalDisplaysByEvent ( )
override

Definition at line 102 of file EcalDisplaysByEvent.cc.

102 {}

Member Function Documentation

◆ analyze()

void EcalDisplaysByEvent::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 116 of file EcalDisplaysByEvent.cc.

References edm::SortedCollection< T, SORT >::begin(), caloTopo_, canvasNames_, deleteEvtByEvtHists(), drawHistos(), EBdigisHandle, ebDigiToken_, ebRecHitToken_, EEdigisHandle, eeDigiToken_, eeRecHitToken_, edm::DataFrameContainer::empty(), edm::SortedCollection< T, SORT >::end(), FEDsAndDCCHeaders_, fileService, edm::EventSetup::getData(), histoCanvasNames_, histoCanvasNamesVector, iEvent, initEvtByEvtHists(), listEBChannels, listEEChannels, TFileService::make(), makeDigiGraphs_, makeHistos(), naiveEvtNum_, names, rawDataToken_, runNum_, selectHits(), and topologyToken_.

116  {
117  // get the headers
118  // (one header for each supermodule)
120  iEvent.getByToken(rawDataToken_, DCCHeaders);
121 
122  for (EcalRawDataCollection::const_iterator headerItr = DCCHeaders->begin(); headerItr != DCCHeaders->end();
123  ++headerItr) {
124  FEDsAndDCCHeaders_[headerItr->id() + 600] = *headerItr;
125  }
126 
127  int ievt = iEvent.id().event();
128  naiveEvtNum_++;
129 
130  if (runNum_ == -1) {
131  runNum_ = iEvent.id().run();
132  canvasNames_ = fileService->make<TTree>("canvasNames", "Names of written canvases");
133  names = new std::vector<string>();
134  canvasNames_->Branch("names", "vector<string>", &names);
135 
136  histoCanvasNames_ = fileService->make<TTree>("histoCanvasNames", "Names of written canvases with histos");
137  histoCanvasNamesVector = new std::vector<string>();
138  histoCanvasNames_->Branch("histoCanvasNamesVector", "vector<string>", &histoCanvasNamesVector);
139  }
140 
141  //We only want the 3x3's for this event...
142  listEBChannels.clear();
143  listEEChannels.clear();
144 
145  //Get hits, digis, caloTopology from event/eventSetup
146  caloTopo_ = &iSetup.getData(topologyToken_);
147 
150  iEvent.getByToken(ebRecHitToken_, EBhits);
151  iEvent.getByToken(eeRecHitToken_, EEhits);
152  iEvent.getByToken(ebDigiToken_, EBdigisHandle);
153  iEvent.getByToken(eeDigiToken_, EEdigisHandle);
154 
155  // Initialize histos for this event
157 
158  bool hasEBdigis = false;
159  bool hasEEdigis = false;
160  if (!EBdigisHandle->empty())
161  hasEBdigis = true;
162  if (!EEdigisHandle->empty())
163  hasEEdigis = true;
164 
165  // Produce the digi graphs
166  if (makeDigiGraphs_) {
167  if (hasEBdigis) //if event has digis, it should have hits
168  selectHits(EBhits, ievt);
169  if (hasEEdigis)
170  selectHits(EEhits, ievt);
171  }
172 
173  // Produce the histos
174  if (hasEBdigis) {
176  makeHistos(EBhits);
177  }
178  if (hasEEdigis) {
180  makeHistos(EEhits);
181  }
182 
183  if (hasEBdigis || hasEEdigis)
184  drawHistos();
185 
187 }
std::set< EBDetId > listEBChannels
edm::Handle< EEDigiCollection > EEdigisHandle
const edm::EDGetTokenT< EcalRawDataCollection > rawDataToken_
std::vector< std::string > * names
std::vector< T >::const_iterator const_iterator
std::map< int, EcalDCCHeaderBlock > FEDsAndDCCHeaders_
std::set< EEDetId > listEEChannels
std::vector< std::string > * histoCanvasNamesVector
const edm::EDGetTokenT< EcalRecHitCollection > ebRecHitToken_
int iEvent
Definition: GenABIO.cc:224
const edm::EDGetTokenT< EEDigiCollection > eeDigiToken_
void selectHits(edm::Handle< EcalRecHitCollection > hits, int ievt)
const edm::EDGetTokenT< EcalRecHitCollection > eeRecHitToken_
const_iterator begin() const
static edm::Service< TFileService > fileService
const CaloTopology * caloTopo_
const_iterator end() const
void makeHistos(edm::Handle< EBDigiCollection > ebDigis)
edm::Handle< EBDigiCollection > EBdigisHandle
const edm::ESGetToken< CaloTopology, CaloTopologyRecord > topologyToken_
void initEvtByEvtHists(int naiveEvtNum_, int ievt)
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
const edm::EDGetTokenT< EBDigiCollection > ebDigiToken_

◆ beginRun()

void EcalDisplaysByEvent::beginRun ( edm::Run const &  ,
edm::EventSetup const &  c 
)
overrideprivate

Definition at line 109 of file EcalDisplaysByEvent.cc.

References HltBtagPostValidation_cff::c, ecalElectronicsMap_, and ecalMappingToken_.

109  {
111 }
const EcalElectronicsMapping * ecalElectronicsMap_
const edm::ESGetToken< EcalElectronicsMapping, EcalMappingRcd > ecalMappingToken_

◆ deleteEvtByEvtHists()

void EcalDisplaysByEvent::deleteEvtByEvtHists ( )
private

Definition at line 660 of file EcalDisplaysByEvent.cc.

References digiOccupancyCanvas_, digiOccupancyCoarseCanvas_, digiOccupancyEB_, digiOccupancyEBcoarse_, digiOccupancyEEM_, digiOccupancyEEMcoarse_, digiOccupancyEEP_, digiOccupancyEEPcoarse_, energyCanvas_, energyEB_, energyEEM_, energyEEP_, energyMapCanvas_, energyMapCoarseCanvas_, energyMapEB_, energyMapEBcoarse_, energyMapEEM_, energyMapEEMcoarse_, energyMapEEP_, energyMapEEPcoarse_, recHitOccupancyCanvas_, recHitOccupancyCoarseCanvas_, recHitOccupancyEB_, recHitOccupancyEBcoarse_, recHitOccupancyEEM_, recHitOccupancyEEMcoarse_, recHitOccupancyEEP_, recHitOccupancyEEPcoarse_, timingCanvas_, timingEB_, timingEEM_, timingEEP_, timingMapCanvas_, timingMapEB_, timingMapEEM_, and timingMapEEP_.

Referenced by analyze().

660  {
661  delete timingEB_;
662  delete timingEEM_;
663  delete timingEEP_;
664  delete timingMapEB_;
665  delete timingMapEEM_;
666  delete timingMapEEP_;
667  delete timingCanvas_;
668  delete timingMapCanvas_;
669  delete energyEB_;
670  delete energyEEM_;
671  delete energyEEP_;
672  delete energyMapEB_;
673  delete energyMapEEM_;
674  delete energyMapEEP_;
675  delete energyMapEBcoarse_;
676  delete energyMapEEMcoarse_;
677  delete energyMapEEPcoarse_;
678  delete energyCanvas_;
679  delete energyMapCanvas_;
680  delete energyMapCoarseCanvas_;
681  delete recHitOccupancyEB_;
682  delete recHitOccupancyEEP_;
683  delete recHitOccupancyEEM_;
687  delete digiOccupancyEB_;
688  delete digiOccupancyEEM_;
689  delete digiOccupancyEEP_;
690  delete digiOccupancyEBcoarse_;
693  delete recHitOccupancyCanvas_;
695  delete digiOccupancyCanvas_;
697 }
TCanvas * digiOccupancyCoarseCanvas_
TCanvas * recHitOccupancyCoarseCanvas_

◆ drawCanvas() [1/3]

void EcalDisplaysByEvent::drawCanvas ( TCanvas *  canvas,
TH1F *  hist1,
TH1F *  hist2,
TH1F *  hist3 
)
private

Definition at line 879 of file EcalDisplaysByEvent.cc.

References svgfig::canvas(), and histoCanvasNamesVector.

Referenced by drawHistos(), and endJob().

879  {
880  canvas->Divide(1, 2);
881  canvas->cd(1)->Divide(2, 1);
882  canvas->cd(1)->cd(1);
883  hist1->Draw();
884  canvas->cd(2);
885  hist2->Draw();
886  canvas->cd(1)->cd(2);
887  hist3->Draw();
888  histoCanvasNamesVector->push_back(canvas->GetName());
889  canvas->SetCanvasSize(500, 500);
890  canvas->SetFixedAspectRatio(true);
891  canvas->Write();
892 }
std::vector< std::string > * histoCanvasNamesVector
def canvas(sub, attr)
Definition: svgfig.py:482

◆ drawCanvas() [2/3]

void EcalDisplaysByEvent::drawCanvas ( TCanvas *  canvas,
TH2F *  hist1,
TH2F *  hist2,
TH2F *  hist3 
)
private

Definition at line 894 of file EcalDisplaysByEvent.cc.

References svgfig::canvas(), drawEELines(), and histoCanvasNamesVector.

894  {
895  canvas->Divide(1, 2);
896  canvas->cd(1)->Divide(2, 1);
897  // EEM
898  canvas->cd(1)->cd(1);
899  hist1->Draw("colz");
900  drawEELines();
901  // EB
902  canvas->cd(2);
903  hist2->Draw("colz");
904  hist2->GetXaxis()->SetNdivisions(-18);
905  hist2->GetYaxis()->SetNdivisions(2);
906  canvas->GetPad(2)->SetGridx(1);
907  canvas->GetPad(2)->SetGridy(1);
908  // EEP
909  canvas->cd(1)->cd(2);
910  hist3->Draw("colz");
911  drawEELines();
912  histoCanvasNamesVector->push_back(canvas->GetName());
913  canvas->SetCanvasSize(500, 500);
914  canvas->SetFixedAspectRatio(true);
915  canvas->Write();
916 }
std::vector< std::string > * histoCanvasNamesVector
def canvas(sub, attr)
Definition: svgfig.py:482

◆ drawCanvas() [3/3]

void EcalDisplaysByEvent::drawCanvas ( TCanvas *  canvas,
TH3F *  hist1,
TH3F *  hist2,
TH3F *  hist3 
)
private

Definition at line 918 of file EcalDisplaysByEvent.cc.

References svgfig::canvas(), drawEELines(), drawTimingErrors(), histoCanvasNamesVector, and timingMapCoarseCanvas_.

918  {
920  canvas->cd();
921  TProfile2D* profile2 = (TProfile2D*)hist2->Project3DProfile("yx");
922  profile2->Draw("colz");
923  drawTimingErrors(profile2);
924  } else {
925  canvas->Divide(1, 2);
926  canvas->cd(1)->Divide(2, 1);
927  // EEM
928  canvas->cd(1)->cd(1);
929  TProfile2D* profile1 = (TProfile2D*)hist1->Project3DProfile("yx");
930  profile1->Draw("colz");
931  drawEELines();
932  // EB
933  canvas->cd(2);
934  TProfile2D* profile2 = (TProfile2D*)hist2->Project3DProfile("yx");
935  profile2->Draw("colz");
936  profile2->GetXaxis()->SetNdivisions(-18);
937  profile2->GetYaxis()->SetNdivisions(2);
938  canvas->GetPad(2)->SetGridx(1);
939  canvas->GetPad(2)->SetGridy(1);
940  // EEP
941  canvas->cd(1)->cd(2);
942  TProfile2D* profile3 = (TProfile2D*)hist3->Project3DProfile("yx");
943  profile3->Draw("colz");
944  drawEELines();
945  }
946  histoCanvasNamesVector->push_back(canvas->GetName());
947  canvas->SetCanvasSize(500, 500);
948  canvas->SetFixedAspectRatio(true);
949  canvas->Write();
950 }
void drawTimingErrors(TProfile2D *profile)
std::vector< std::string > * histoCanvasNamesVector
def canvas(sub, attr)
Definition: svgfig.py:482

◆ drawEELines()

void EcalDisplaysByEvent::drawEELines ( )
private

Definition at line 989 of file EcalDisplaysByEvent.cc.

References mps_fire::i, and MainPageGenerator::l.

Referenced by drawCanvas().

989  {
990  int ixSectorsEE[202] = {
991  61, 61, 60, 60, 59, 59, 58, 58, 57, 57, 55, 55, 45, 45, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 40, 40,
992  41, 41, 42, 42, 43, 43, 45, 45, 55, 55, 57, 57, 58, 58, 59, 59, 60, 60, 61, 61, 0, 100, 100, 97, 97, 95,
993  95, 92, 92, 87, 87, 85, 85, 80, 80, 75, 75, 65, 65, 60, 60, 40, 40, 35, 35, 25, 25, 20, 20, 15, 15, 13,
994  13, 8, 8, 5, 5, 3, 3, 0, 0, 3, 3, 5, 5, 8, 8, 13, 13, 15, 15, 20, 20, 25, 25, 35, 35, 40,
995  40, 60, 60, 65, 65, 75, 75, 80, 80, 85, 85, 87, 87, 92, 92, 95, 95, 97, 97, 100, 100, 0, 61, 65, 65, 70,
996  70, 80, 80, 90, 90, 92, 0, 61, 65, 65, 90, 90, 97, 0, 57, 60, 60, 65, 65, 70, 70, 75, 75, 80, 80, 0,
997  50, 50, 0, 43, 40, 40, 35, 35, 30, 30, 25, 25, 20, 20, 0, 39, 35, 35, 10, 10, 3, 0, 39, 35, 35, 30,
998  30, 20, 20, 10, 10, 8, 0, 45, 45, 40, 40, 35, 35, 0, 55, 55, 60, 60, 65, 65};
999 
1000  int iySectorsEE[202] = {50, 55, 55, 57, 57, 58, 58, 59, 59, 60, 60, 61, 61, 60, 60, 59, 59, 58, 58, 57, 57, 55, 55,
1001  45, 45, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 45, 45, 50,
1002  0, 50, 60, 60, 65, 65, 75, 75, 80, 80, 85, 85, 87, 87, 92, 92, 95, 95, 97, 97, 100, 100, 97,
1003  97, 95, 95, 92, 92, 87, 87, 85, 85, 80, 80, 75, 75, 65, 65, 60, 60, 40, 40, 35, 35, 25, 25,
1004  20, 20, 15, 15, 13, 13, 8, 8, 5, 5, 3, 3, 0, 0, 3, 3, 5, 5, 8, 8, 13, 13, 15,
1005  15, 20, 20, 25, 25, 35, 35, 40, 40, 50, 0, 45, 45, 40, 40, 35, 35, 30, 30, 25, 25, 0, 50,
1006  50, 55, 55, 60, 60, 0, 60, 60, 65, 65, 70, 70, 75, 75, 85, 85, 87, 0, 61, 100, 0, 60, 60,
1007  65, 65, 70, 70, 75, 75, 85, 85, 87, 0, 50, 50, 55, 55, 60, 60, 0, 45, 45, 40, 40, 35, 35,
1008  30, 30, 25, 25, 0, 39, 30, 30, 15, 15, 5, 0, 39, 30, 30, 15, 15, 5};
1009 
1010  for (int i = 0; i < 202; i++) {
1011  ixSectorsEE[i] += 1;
1012  iySectorsEE[i] += 1;
1013  // std::cout << i << " " << ixSectorsEE[i] << " " << iySectorsEE[i] << std::endl;
1014  }
1015 
1016  TLine l;
1017  l.SetLineWidth(1);
1018  for (int i = 0; i < 201; i = i + 1) {
1019  if ((ixSectorsEE[i] != 1 || iySectorsEE[i] != 1) && (ixSectorsEE[i + 1] != 1 || iySectorsEE[i + 1] != 1)) {
1020  l.DrawLine(ixSectorsEE[i], iySectorsEE[i], ixSectorsEE[i + 1], iySectorsEE[i + 1]);
1021  }
1022  }
1023 }

◆ drawHistos()

void EcalDisplaysByEvent::drawHistos ( )
private

Definition at line 854 of file EcalDisplaysByEvent.cc.

References digiOccupancyCanvas_, digiOccupancyCoarseCanvas_, digiOccupancyEB_, digiOccupancyEBcoarse_, digiOccupancyEEM_, digiOccupancyEEMcoarse_, digiOccupancyEEP_, digiOccupancyEEPcoarse_, drawCanvas(), energyCanvas_, energyEB_, energyEEM_, energyEEP_, energyMapCanvas_, energyMapCoarseCanvas_, energyMapEB_, energyMapEBcoarse_, energyMapEEM_, energyMapEEMcoarse_, energyMapEEP_, energyMapEEPcoarse_, makeEnergyHistos_, makeOccupancyHistos_, makeTimingHistos_, recHitOccupancyCanvas_, recHitOccupancyCoarseCanvas_, recHitOccupancyEB_, recHitOccupancyEBcoarse_, recHitOccupancyEEM_, recHitOccupancyEEMcoarse_, recHitOccupancyEEP_, recHitOccupancyEEPcoarse_, timingCanvas_, timingEB_, timingEEM_, timingEEP_, timingMapCanvas_, timingMapEB_, timingMapEEM_, and timingMapEEP_.

Referenced by analyze().

854  {
855  if (makeTimingHistos_) {
856  // Put the timing canvas together
858  // drawCanvas(timingMapCoarseCanvas_,timingMapEEMCoarse_,timingMapEBCoarse_,timingMapEEPCoarse_);
860  }
861  if (makeEnergyHistos_) {
862  // Put the energy canvas together
864  // Put the energy map canvas together
867  }
868  if (makeOccupancyHistos_) {
869  // Put the occupancy canvas together
871  drawCanvas(
873  // And the same for the digis
876  }
877 }
void drawCanvas(TCanvas *canvas, TH1F *hist1, TH1F *hist2, TH1F *hist3)
TCanvas * digiOccupancyCoarseCanvas_
TCanvas * recHitOccupancyCoarseCanvas_

◆ drawTimingErrors()

void EcalDisplaysByEvent::drawTimingErrors ( TProfile2D *  profile)
private

Definition at line 952 of file EcalDisplaysByEvent.cc.

References mps_fire::i, createfilelist::int, dqmiolumiharvest::j, PFElectronDQMAnalyzer_cfi::nBin, PostProcessor_cff::profile, and cuy::tex.

Referenced by drawCanvas().

952  {
953  int nxb = profile->GetNbinsX();
954  int nyb = profile->GetNbinsY();
955  char tempErr[200];
956  for (int i = 0; i != nxb; ++i) {
957  for (int j = 0; j != nyb; ++j) {
958  int xb = i + 1;
959  int yb = j + 1;
960  // std::cout << "xb: " << xb << "\tyb: " << yb << std::endl;
961  double xcorr = profile->GetBinCenter(xb);
962  double ycorr = profile->GetBinCenter(yb);
963  sprintf(tempErr, "%0.2f", profile->GetBinError(xb, yb));
964  int nBin = profile->GetBin(xb, yb, 0);
965  int nBinEntries = (int)profile->GetBinEntries(nBin);
966  if (nBinEntries != 0) {
967  TLatex* tex = new TLatex(xcorr, ycorr, tempErr);
968  tex->SetTextAlign(23);
969  tex->SetTextSize(42);
970  tex->SetTextSize(0.025);
971  tex->SetLineWidth(2);
972  tex->Draw();
973  delete tex;
974  }
975  sprintf(tempErr, "%i", nBinEntries);
976  if (nBinEntries != 0) {
977  TLatex* tex = new TLatex(xcorr, ycorr, tempErr);
978  tex->SetTextAlign(21);
979  tex->SetTextFont(42);
980  tex->SetTextSize(0.025);
981  tex->SetLineWidth(2);
982  tex->Draw();
983  delete tex;
984  }
985  }
986  }
987 }
tex
Definition: cuy.py:773

◆ endJob()

void EcalDisplaysByEvent::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 526 of file EcalDisplaysByEvent.cc.

References canvasNames_, ewkTauDQM_cfi::channels, digiOccupancyCanvasAll_, digiOccupancyCoarseCanvasAll_, digiOccupancyEBAll_, digiOccupancyEBcoarseAll_, digiOccupancyEEMAll_, digiOccupancyEEMcoarseAll_, digiOccupancyEEPAll_, digiOccupancyEEPcoarseAll_, drawCanvas(), energyCanvasAll_, energyEBAll_, energyEEMAll_, energyEEPAll_, energyMapCanvasAll_, energyMapCoarseCanvasAll_, energyMapEBAll_, energyMapEBcoarseAll_, energyMapEEMAll_, energyMapEEMcoarseAll_, energyMapEEPAll_, energyMapEEPcoarseAll_, l1tstage2emulator_dqm_sourceclient-live_cfg::feds, histoCanvasNames_, intToString(), maskedChannels_, maskedFEDs_, recHitOccupancyCanvasAll_, recHitOccupancyCoarseCanvasAll_, recHitOccupancyEBAll_, recHitOccupancyEBcoarseAll_, recHitOccupancyEEMAll_, recHitOccupancyEEMcoarseAll_, recHitOccupancyEEPAll_, recHitOccupancyEEPcoarseAll_, runNum_, seedFrequencyMap_, AlCaHLTBitMon_QueryRunRegistry::string, timingCanvasAll_, timingEBAll_, timingEEMAll_, timingEEPAll_, timingMapCanvasAll_, timingMapEBAll_, timingMapEEMAll_, and timingMapEEPAll_.

Referenced by o2olib.O2ORunMgr::executeJob().

526  {
527  //All-event canvases
539  drawCanvas(
541 
542  if (runNum_ != -1) {
543  canvasNames_->Fill();
544  histoCanvasNames_->Fill();
545  }
546 
547  string frequencies = "";
548  for (std::map<std::string, int>::const_iterator itr = seedFrequencyMap_.begin(); itr != seedFrequencyMap_.end();
549  ++itr) {
550  if (itr->second > 1) {
551  frequencies += itr->first;
552  frequencies += " Frequency: ";
553  frequencies += intToString(itr->second);
554  frequencies += "\n";
555  }
556  }
557  LogWarning("EcalDisplaysByEvent") << "Found seeds with frequency > 1: "
558  << "\n\n"
559  << frequencies;
560 
562  for (std::vector<int>::const_iterator itr = maskedChannels_.begin(); itr != maskedChannels_.end(); ++itr) {
563  channels += intToString(*itr);
564  channels += ",";
565  }
566 
568  for (std::vector<int>::const_iterator itr = maskedFEDs_.begin(); itr != maskedFEDs_.end(); ++itr) {
569  feds += intToString(*itr);
570  feds += ",";
571  }
572 
573  LogWarning("EcalDisplaysByEvent") << "Masked channels are: " << channels;
574  LogWarning("EcalDisplaysByEvent") << "Masked FEDs are: " << feds << " and that is all!";
575 }
std::vector< int > maskedChannels_
TCanvas * digiOccupancyCoarseCanvasAll_
void drawCanvas(TCanvas *canvas, TH1F *hist1, TH1F *hist2, TH1F *hist3)
std::vector< int > maskedFEDs_
TCanvas * recHitOccupancyCoarseCanvasAll_
std::string intToString(int num)
std::map< std::string, int > seedFrequencyMap_
Log< level::Warning, false > LogWarning

◆ endRun()

void EcalDisplaysByEvent::endRun ( edm::Run const &  ,
edm::EventSetup const &  c 
)
overrideprivate

Definition at line 113 of file EcalDisplaysByEvent.cc.

113 {}

◆ floatToString()

std::string EcalDisplaysByEvent::floatToString ( float  num)
private

Definition at line 584 of file EcalDisplaysByEvent.cc.

References EgammaValidation_cff::num.

Referenced by selectDigi().

584  {
585  using namespace std;
586  ostringstream myStream;
587  myStream << num << flush;
588  return (myStream.str()); //returns the string form of the stringstream object
589 }

◆ getEEIndex()

int EcalDisplaysByEvent::getEEIndex ( EcalElectronicsId  elecId)
private

Definition at line 356 of file EcalDisplaysByEvent.cc.

References EcalElectronicsId::dccId(), EcalElectronicsId::stripId(), EcalElectronicsId::towerId(), and EcalElectronicsId::xtalId().

Referenced by selectDigi(), and selectHits().

356  {
357  int FEDid = 600 + elecId.dccId();
358  return 10000 * FEDid + 100 * elecId.towerId() + 5 * (elecId.stripId() - 1) + elecId.xtalId();
359 }
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
int towerId() const
get the tower id
int stripId() const
get the tower id
int xtalId() const
get the channel id

◆ init2DEcalCanvas()

TCanvas * EcalDisplaysByEvent::init2DEcalCanvas ( std::string  canvasName)
private

Definition at line 849 of file EcalDisplaysByEvent.cc.

References svgfig::canvas().

Referenced by initAllEventHistos(), and initEvtByEvtHists().

849  {
850  TCanvas* canvas = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(), 300, 60, 500, 200);
851  return canvas;
852 }
def canvas(sub, attr)
Definition: svgfig.py:482

◆ init2DEcalHist()

TH2F * EcalDisplaysByEvent::init2DEcalHist ( std::string  histTypeName,
int  subDet 
)
private

Definition at line 809 of file EcalDisplaysByEvent.cc.

References EB_COARSE, EB_FINE, EEM_COARSE, EEM_FINE, EEP_COARSE, compareTotals::hist, B2GTnPMonitor_cfi::histTitle, PixelPluginsPhase0_cfi::isBarrel, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

809  {
810  TH2F* hist;
811  bool isBarrel = (subDet == EB_FINE || subDet == EB_COARSE) ? true : false;
812  bool isCoarse = (subDet == EB_COARSE || subDet == EEM_COARSE || subDet == EEP_COARSE) ? true : false;
813  bool isEEM = (subDet == EEM_FINE || subDet == EEM_COARSE) ? true : false;
814  std::string histName = histTypeName;
815  std::string histTitle = histTypeName;
816  if (isBarrel) {
817  histName = histName + "EB";
818  histTitle = histTitle + " EB";
819  if (isCoarse) {
820  histName = histName + "Coarse";
821  histTitle = histTitle + " Coarse;iphi;ieta";
822  double ttEtaBins[36] = {-85, -80, -75, -70, -65, -60, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0,
823  1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86};
824  hist = new TH2F(histName.c_str(), histTitle.c_str(), 360 / 5, 1, 361., 35, ttEtaBins);
825  } else {
826  histTitle = histTitle + ";iphi;ieta";
827  hist = new TH2F(histName.c_str(), histTitle.c_str(), 360, 1, 361., 172, -86, 86);
828  }
829  } else {
830  if (isEEM) {
831  histName = histName + "EEM";
832  histTitle = histTitle + " EEM";
833  } else {
834  histName = histName + "EEP";
835  histTitle = histTitle + " EEP";
836  }
837  if (isCoarse) {
838  histName = histName + "Coarse";
839  histTitle = histTitle + " Coarse;ix;iy";
840  hist = new TH2F(histName.c_str(), histTitle.c_str(), 20, 1, 101, 20, 1, 101);
841  } else {
842  histTitle = histTitle + ";ix;iy";
843  hist = new TH2F(histName.c_str(), histTitle.c_str(), 100, 1, 101, 100, 1, 101);
844  }
845  }
846  return hist;
847 }

◆ init3DEcalHist()

TH3F * EcalDisplaysByEvent::init3DEcalHist ( std::string  histTypeName,
int  dubDet 
)
private

Definition at line 749 of file EcalDisplaysByEvent.cc.

References EB_COARSE, EB_FINE, EEM_COARSE, EEM_FINE, EEP_COARSE, compareTotals::hist, B2GTnPMonitor_cfi::histTitle, mps_fire::i, PixelPluginsPhase0_cfi::isBarrel, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

749  {
750  TH3F* hist;
751  bool isBarrel = (subDet == EB_FINE || subDet == EB_COARSE) ? true : false;
752  bool isCoarse = (subDet == EB_COARSE || subDet == EEM_COARSE || subDet == EEP_COARSE) ? true : false;
753  bool isEEM = (subDet == EEM_FINE || subDet == EEM_COARSE) ? true : false;
754  std::string histName = histTypeName;
755  std::string histTitle = histTypeName;
756  double ttEtaBins[36] = {-85, -80, -75, -70, -65, -60, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0,
757  1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86};
758  double modEtaBins[10] = {-85, -65, -45, -25, 0, 1, 26, 46, 66, 86};
759  double ttPhiBins[73];
760  double modPhiBins[19];
761  double timingBins[79];
762  for (int i = 0; i < 79; ++i) {
763  timingBins[i] = 6 - 7. + double(i) * 14. / 78.;
764  if (i < 73) {
765  ttPhiBins[i] = 1 + 5 * i;
766  if (i < 19) {
767  modPhiBins[i] = 1 + 20 * i;
768  }
769  }
770  }
771 
772  if (isBarrel) {
773  histName = histName + "EB";
774  histTitle = histTitle + " EB";
775  if (isCoarse) {
776  histName = histName + "Coarse";
777  histTitle = histTitle + " by Module Nominal value = 6;iphi;ieta ";
778  hist = new TH3F(histName.c_str(), histTitle.c_str(), 18, modPhiBins, 9, modEtaBins, 78, timingBins);
779  } else {
780  histTitle = histTitle + " by TT Nominal value = 6;iphi;ieta";
781  hist = new TH3F(histName.c_str(), histTitle.c_str(), 360 / 5, ttPhiBins, 35, ttEtaBins, 78, timingBins);
782  }
783  } else {
784  double ttXBins[21];
785  double ttYBins[21];
786  for (int i = 0; i != 21; ++i) {
787  ttXBins[i] = 1 + 5 * i;
788  ttYBins[i] = 1 + 5 * i;
789  }
790  if (isEEM) {
791  histName = histName + "EEM";
792  histTitle = histTitle + " EEM";
793  } else {
794  histName = histName + "EEP";
795  histTitle = histTitle + " EEP";
796  }
797  if (isCoarse) {
798  histName = histName + "Coarse";
799  histTitle = histTitle + " by Module Nominal value = 6;ix;iy";
800  hist = new TH3F(histName.c_str(), histTitle.c_str(), 20, ttXBins, 20, ttYBins, 78, timingBins);
801  } else {
802  histTitle = histTitle + " by TT Nominal value = 6;ix;iy";
803  hist = new TH3F(histName.c_str(), histTitle.c_str(), 20, ttXBins, 20, ttYBins, 78, timingBins);
804  }
805  }
806  return hist;
807 }

◆ initAllEventHistos()

void EcalDisplaysByEvent::initAllEventHistos ( )
private

Definition at line 699 of file EcalDisplaysByEvent.cc.

References digiOccupancyCanvasAll_, digiOccupancyCoarseCanvasAll_, digiOccupancyEBAll_, digiOccupancyEBcoarseAll_, digiOccupancyEEMAll_, digiOccupancyEEMcoarseAll_, digiOccupancyEEPAll_, digiOccupancyEEPcoarseAll_, EB_COARSE, EB_FINE, EEM_COARSE, EEM_FINE, EEP_COARSE, EEP_FINE, energyCanvasAll_, energyEBAll_, energyEEMAll_, energyEEPAll_, energyMapCanvasAll_, energyMapCoarseCanvasAll_, energyMapEBAll_, energyMapEBcoarseAll_, energyMapEEMAll_, energyMapEEMcoarseAll_, energyMapEEPAll_, energyMapEEPcoarseAll_, histRangeMax_, histRangeMin_, init2DEcalCanvas(), init2DEcalHist(), init3DEcalHist(), recHitOccupancyCanvasAll_, recHitOccupancyCoarseCanvasAll_, recHitOccupancyEBAll_, recHitOccupancyEBcoarseAll_, recHitOccupancyEEMAll_, recHitOccupancyEEMcoarseAll_, recHitOccupancyEEPAll_, recHitOccupancyEEPcoarseAll_, timingCanvasAll_, timingEBAll_, timingEEMAll_, timingEEPAll_, timingMapCanvasAll_, timingMapEBAll_, timingMapEBCoarseAll_, timingMapEEMAll_, timingMapEEMCoarseAll_, timingMapEEPAll_, and timingMapEEPCoarseAll_.

Referenced by EcalDisplaysByEvent().

699  {
700  string canvasTitle = "Timing_AllEvents";
701  timingEBAll_ = new TH1F("timeForAllFedsEBAll", "timeForAllFeds;Relative Time (1 clock = 25ns)", 78, -7, 7);
702  timingEEMAll_ = new TH1F("timeForAllFedsEEMAll", "timeForAllFeds_EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
703  timingEEPAll_ = new TH1F("timeForAllFedsEEPAll", "timeForAllFeds_EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
704  timingCanvasAll_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(), 300, 60, 500, 200);
705  timingMapEBAll_ = init3DEcalHist("TimingMapA", EB_FINE);
706  timingMapEEMAll_ = init3DEcalHist("TimingMapA", EEM_FINE);
707  timingMapEEPAll_ = init3DEcalHist("TimingMapA", EEP_FINE);
708  timingMapCanvasAll_ = init2DEcalCanvas("TimingMap_AllEvents");
712  //timingMapCoarseCanvasAll_ = init2DEcalCanvas("TimingMapCoarse_AllEvents");
713  energyEBAll_ = new TH1F("energyEBAllEvents", "Energy for EB Feds (GeV)", 200, histRangeMin_, histRangeMax_);
714  energyEEMAll_ = new TH1F("energyEEMAllEvents", "Energy for EEM Feds (GeV)", 200, histRangeMin_, 10.0);
715  energyEEPAll_ = new TH1F("energyEEPAllEvents", "Energy for EEP Feds (GeV)", 200, histRangeMin_, 10.0);
716  canvasTitle = "Energy_AllEvents";
717  energyCanvasAll_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(), 300, 60, 500, 200);
718 
719  // Energy map hists
720  energyMapEBAll_ = init2DEcalHist("EnergyMapA", EB_FINE);
723  energyMapEEMAll_ = init2DEcalHist("EnergyMapA", EEM_FINE);
725  energyMapEEPAll_ = init2DEcalHist("EnergyMapA", EEP_FINE);
726  energyMapCanvasAll_ = init2DEcalCanvas("EnergyMap_AllEvents");
727  energyMapCoarseCanvasAll_ = init2DEcalCanvas("EnergyMapCoarse_AllEvents");
728  // RecHit Occupancy
729  recHitOccupancyEBAll_ = init2DEcalHist("RecHitOccupancyA", EB_FINE);
732  recHitOccupancyEEMAll_ = init2DEcalHist("RecHitOccupancyA", EEM_FINE);
734  recHitOccupancyEEPAll_ = init2DEcalHist("RecHitOccupancyA", EEP_FINE);
735  recHitOccupancyCanvasAll_ = init2DEcalCanvas("RecHitOccupancy_AllEvents");
736  recHitOccupancyCoarseCanvasAll_ = init2DEcalCanvas("RecHitOccupancyCoarse_AllEvents");
737 
738  //DigiOccupancy
739  digiOccupancyEBAll_ = init2DEcalHist("DigiOccupancyA", EB_FINE);
742  digiOccupancyEEMAll_ = init2DEcalHist("DigiOccupancyA", EEM_FINE);
744  digiOccupancyEEPAll_ = init2DEcalHist("DigiOccupancyA", EEP_FINE);
745  digiOccupancyCanvasAll_ = init2DEcalCanvas("DigiOccupancy_AllEvents");
746  digiOccupancyCoarseCanvasAll_ = init2DEcalCanvas("DigiOccupancyCoarse_AllEvents");
747 }
TH2F * init2DEcalHist(std::string histTypeName, int subDet)
TCanvas * digiOccupancyCoarseCanvasAll_
TCanvas * recHitOccupancyCoarseCanvasAll_
TH3F * init3DEcalHist(std::string histTypeName, int dubDet)
TCanvas * init2DEcalCanvas(std::string canvasName)

◆ initEvtByEvtHists()

void EcalDisplaysByEvent::initEvtByEvtHists ( int  naiveEvtNum_,
int  ievt 
)
private

Definition at line 603 of file EcalDisplaysByEvent.cc.

References digiOccupancyCanvas_, digiOccupancyCoarseCanvas_, digiOccupancyEB_, digiOccupancyEBcoarse_, digiOccupancyEEM_, digiOccupancyEEMcoarse_, digiOccupancyEEP_, digiOccupancyEEPcoarse_, EB_COARSE, EB_FINE, EEM_COARSE, EEM_FINE, EEP_COARSE, EEP_FINE, energyCanvas_, energyEB_, energyEEM_, energyEEP_, energyMapCanvas_, energyMapCoarseCanvas_, energyMapEB_, energyMapEBcoarse_, energyMapEEM_, energyMapEEMcoarse_, energyMapEEP_, energyMapEEPcoarse_, histRangeMax_, histRangeMin_, init2DEcalCanvas(), init2DEcalHist(), init3DEcalHist(), intToString(), makeEnergyHistos_, makeOccupancyHistos_, makeTimingHistos_, naiveEvtNum_, recHitOccupancyCanvas_, recHitOccupancyCoarseCanvas_, recHitOccupancyEB_, recHitOccupancyEBcoarse_, recHitOccupancyEEM_, recHitOccupancyEEMcoarse_, recHitOccupancyEEP_, recHitOccupancyEEPcoarse_, timingCanvas_, timingEB_, timingEEM_, timingEEP_, timingMapCanvas_, timingMapEB_, timingMapEEM_, timingMapEEMCoarse_, timingMapEEP_, and timingMapEEPCoarse_.

Referenced by analyze().

603  {
604  string lastPart = intToString(naiveEvtNum_) + "_LV1a" + intToString(ievt);
605  if (makeTimingHistos_) {
606  string canvasTitle = "Timing_Event" + lastPart;
607  timingEB_ = new TH1F("timeForAllFedsEB", "timeForAllFeds;Relative Time (1 clock = 25ns)", 78, -7, 7);
608  timingEEM_ = new TH1F("timeForAllFedsEEM", "timeForAllFeds_EEM;Relative Time (1 clock = 25ns)", 78, -7, 7);
609  timingEEP_ = new TH1F("timeForAllFedsEEP", "timeForAllFeds_EEP;Relative Time (1 clock = 25ns)", 78, -7, 7);
610  timingCanvas_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(), 300, 60, 500, 200);
611  timingMapEB_ = init3DEcalHist("TimingMap", EB_FINE);
612  timingMapEEM_ = init3DEcalHist("TimingMap", EEM_FINE);
613  timingMapEEP_ = init3DEcalHist("TimingMap", EEP_FINE);
614  timingMapCanvas_ = init2DEcalCanvas("TimingMap_Event" + lastPart);
615  //timingMapEBCoarse_ = init3DEcalHist("TimingMap", EB_COARSE);
618  //timingMapCoarseCanvas_ = init2DEcalCanvas("TimingMapCoarse_Event"+lastPart);
619  }
620  if (makeEnergyHistos_) {
621  energyEB_ = new TH1F("energyEB", "Energy for EB Feds (GeV)", 200, histRangeMin_, histRangeMax_);
622  energyEEM_ = new TH1F("energyEEM", "Energy for EEM Feds (GeV)", 200, histRangeMin_, 10.0);
623  energyEEP_ = new TH1F("energyEEP", "Energy for EEP Feds (GeV)", 200, histRangeMin_, 10.0);
624  string canvasTitle = "Energy_Event" + lastPart;
625  energyCanvas_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(), 300, 60, 500, 200);
626 
627  // Energy map hists
628  energyMapEB_ = init2DEcalHist("EnergyMap", EB_FINE);
631  energyMapEEM_ = init2DEcalHist("EnergyMap", EEM_FINE);
633  energyMapEEP_ = init2DEcalHist("EnergyMap", EEP_FINE);
634  energyMapCanvas_ = init2DEcalCanvas("EnergyMap_Event" + lastPart);
635  energyMapCoarseCanvas_ = init2DEcalCanvas("EnergyMapCoarse_Event" + lastPart);
636  }
637  if (makeOccupancyHistos_) {
638  // RecHit Occupancy
639  recHitOccupancyEB_ = init2DEcalHist("RecHitOccupancy", EB_FINE);
640  recHitOccupancyEBcoarse_ = init2DEcalHist("RecHitOccupancy", EB_COARSE);
642  recHitOccupancyEEM_ = init2DEcalHist("RecHitOccupancy", EEM_FINE);
644  recHitOccupancyEEP_ = init2DEcalHist("RecHitOccupancy", EEP_FINE);
645  recHitOccupancyCanvas_ = init2DEcalCanvas("RecHitOccupancy_Event" + lastPart);
646  recHitOccupancyCoarseCanvas_ = init2DEcalCanvas("RecHitOccupancyCoarse_Event" + lastPart);
647 
648  //DigiOccupancy
649  digiOccupancyEB_ = init2DEcalHist("DigiOccupancy", EB_FINE);
650  digiOccupancyEBcoarse_ = init2DEcalHist("DigiOccupancy", EB_COARSE);
652  digiOccupancyEEM_ = init2DEcalHist("DigiOccupancy", EEM_FINE);
654  digiOccupancyEEP_ = init2DEcalHist("DigiOccupancy", EEP_FINE);
655  digiOccupancyCanvas_ = init2DEcalCanvas("DigiOccupancy_Event" + lastPart);
656  digiOccupancyCoarseCanvas_ = init2DEcalCanvas("DigiOccupancyCoarse_Event" + lastPart);
657  }
658 }
TH2F * init2DEcalHist(std::string histTypeName, int subDet)
std::string intToString(int num)
TCanvas * digiOccupancyCoarseCanvas_
TH3F * init3DEcalHist(std::string histTypeName, int dubDet)
TCanvas * init2DEcalCanvas(std::string canvasName)
TCanvas * recHitOccupancyCoarseCanvas_

◆ initHists()

void EcalDisplaysByEvent::initHists ( int  FED)
private

Definition at line 592 of file EcalDisplaysByEvent.cc.

References fedMap_, FEDsAndTimingHists_, fileService, EcalFedMap::getSliceFromFed(), intToString(), and TFileService::make().

Referenced by makeHistos().

592  {
593  using namespace std;
594 
595  string title1 = "Jitter for ";
596  title1.append(fedMap_->getSliceFromFed(FED));
597  string name1 = "JitterFED";
598  name1.append(intToString(FED));
599  TH1F* timingHist = fileService->make<TH1F>(name1.c_str(), title1.c_str(), 150, -7, 7);
600  FEDsAndTimingHists_[FED] = timingHist;
601 }
std::string getSliceFromFed(int)
Definition: EcalFedMap.cc:86
std::map< int, TH1F * > FEDsAndTimingHists_
static edm::Service< TFileService > fileService
std::string intToString(int num)
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64

◆ intToString()

std::string EcalDisplaysByEvent::intToString ( int  num)
private

Definition at line 577 of file EcalDisplaysByEvent.cc.

References EgammaValidation_cff::num.

Referenced by endJob(), initEvtByEvtHists(), initHists(), selectDigi(), and selectHits().

577  {
578  using namespace std;
579  ostringstream myStream;
580  myStream << num << flush;
581  return (myStream.str()); //returns the string form of the stringstream object
582 }

◆ makeHistos() [1/3]

void EcalDisplaysByEvent::makeHistos ( edm::Handle< EBDigiCollection ebDigis)
private

Definition at line 361 of file EcalDisplaysByEvent.cc.

References edm::DataFrameContainer::begin(), digiOccupancyEB_, digiOccupancyEBAll_, digiOccupancyEBcoarse_, digiOccupancyEBcoarseAll_, edm::DataFrameContainer::end(), hcalRecHitTable_cff::ieta, EBDetId::ieta(), hcalRecHitTable_cff::iphi, EBDetId::iphi(), makeOccupancyHistos_, and edm::Handle< T >::product().

Referenced by analyze().

361  {
362  const EBDigiCollection* ebDigis = ebDigiHandle.product();
363  for (EBDigiCollection::const_iterator digiItr = ebDigis->begin(); digiItr != ebDigis->end(); ++digiItr) {
364  EBDetId digiId = digiItr->id();
365  int ieta = digiId.ieta();
366  int iphi = digiId.iphi();
367  digiOccupancyEBAll_->Fill(iphi, ieta);
369  if (makeOccupancyHistos_) {
370  digiOccupancyEB_->Fill(iphi, ieta);
372  }
373  }
374 }
int iphi() const
get the crystal iphi
Definition: EBDetId.h:51
T const * product() const
Definition: Handle.h:70
int ieta() const
get the crystal ieta
Definition: EBDetId.h:49
const_iterator end() const
const_iterator begin() const
The iterator returned can not safely be used across threads.
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator

◆ makeHistos() [2/3]

void EcalDisplaysByEvent::makeHistos ( edm::Handle< EEDigiCollection eeDigis)
private

Definition at line 376 of file EcalDisplaysByEvent.cc.

References EcalElectronicsId::dccId(), digiOccupancyEEM_, digiOccupancyEEMAll_, digiOccupancyEEMcoarse_, digiOccupancyEEMcoarseAll_, digiOccupancyEEP_, digiOccupancyEEPAll_, digiOccupancyEEPcoarse_, digiOccupancyEEPcoarseAll_, ecalElectronicsMap_, SimL1EmulatorDM_cff::eeDigis, EcalElectronicsMapping::getElectronicsId(), hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, EEDetId::ix(), EEDetId::iy(), makeOccupancyHistos_, and edm::Handle< T >::product().

376  {
377  const EEDigiCollection* eeDigis = eeDigiHandle.product();
378  for (EEDigiCollection::const_iterator digiItr = eeDigis->begin(); digiItr != eeDigis->end(); ++digiItr) {
379  DetId det = digiItr->id();
381  size_t FEDid = 600 + elecId.dccId();
382  bool isEEM = false;
383  if (FEDid < 610)
384  isEEM = true;
385  EEDetId digiId = digiItr->id();
386  int ieta = digiId.iy();
387  int iphi = digiId.ix();
388  if (isEEM) {
391  if (makeOccupancyHistos_) {
393  digiOccupancyEEM_->Fill(iphi, ieta);
394  }
395  } else {
398  if (makeOccupancyHistos_) {
399  digiOccupancyEEP_->Fill(iphi, ieta);
401  }
402  }
403  }
404 }
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const EcalElectronicsMapping * ecalElectronicsMap_
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
int ix() const
Definition: EEDetId.h:77
Definition: DetId.h:17
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
int iy() const
Definition: EEDetId.h:83

◆ makeHistos() [3/3]

void EcalDisplaysByEvent::makeHistos ( edm::Handle< EcalRecHitCollection hits)
private

Definition at line 406 of file EcalDisplaysByEvent.cc.

References allFedsTimingHist_, EcalElectronicsId::dccId(), ecalElectronicsMap_, hcalRecHitTable_cff::energy, energyEB_, energyEBAll_, energyEEM_, energyEEMAll_, energyEEP_, energyEEPAll_, energyMapEB_, energyMapEBAll_, energyMapEBcoarse_, energyMapEBcoarseAll_, energyMapEEM_, energyMapEEMAll_, energyMapEEMcoarse_, energyMapEEMcoarseAll_, energyMapEEP_, energyMapEEPAll_, energyMapEEPcoarse_, energyMapEEPcoarseAll_, FEDsAndTimingHists_, EcalElectronicsMapping::getElectronicsId(), hfClusterShapes_cfi::hits, hit::id, hcalRecHitTable_cff::ieta, initHists(), hcalRecHitTable_cff::iphi, PixelPluginsPhase0_cfi::isBarrel, makeEnergyHistos_, makeOccupancyHistos_, makeTimingHistos_, minTimingAmp_, minTimingEnergyEB_, minTimingEnergyEE_, recHitOccupancyEB_, recHitOccupancyEBAll_, recHitOccupancyEBcoarse_, recHitOccupancyEBcoarseAll_, recHitOccupancyEEM_, recHitOccupancyEEMAll_, recHitOccupancyEEMcoarse_, recHitOccupancyEEMcoarseAll_, recHitOccupancyEEP_, recHitOccupancyEEPAll_, recHitOccupancyEEPcoarse_, recHitOccupancyEEPcoarseAll_, hcalRecHitTable_cff::time, timingEB_, timingEBAll_, timingEEM_, timingEEMAll_, timingEEP_, timingEEPAll_, timingMapEB_, timingMapEBAll_, timingMapEBCoarseAll_, timingMapEEM_, timingMapEEMAll_, timingMapEEMCoarseAll_, timingMapEEP_, timingMapEEPAll_, and timingMapEEPCoarseAll_.

406  {
407  for (EcalRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr) {
408  EcalRecHit hit = (*hitItr);
409  DetId det = hit.id();
411  int FEDid = 600 + elecId.dccId();
412  bool isBarrel = true;
413  bool isEEM = false;
414  if (FEDid < 610 || FEDid > 645) {
415  isBarrel = false;
416  if (FEDid < 610)
417  isEEM = true;
418  }
419  int iphi = isBarrel ? ((EBDetId)det).iphi() : ((EEDetId)det).ix();
420  int ieta = isBarrel ? ((EBDetId)det).ieta() : ((EEDetId)det).iy();
421  float energy = hit.energy();
422  float time = hit.time();
423 
424  // Fill energy histos
425  if (makeEnergyHistos_) {
426  if (isBarrel) {
427  energyEB_->Fill(energy);
428  energyMapEB_->Fill(iphi, ieta, energy);
430  } else if (isEEM) {
431  energyEEM_->Fill(energy);
432  energyMapEEM_->Fill(iphi, ieta, energy);
434  } else {
435  energyEEP_->Fill(energy);
436  energyMapEEP_->Fill(iphi, ieta, energy);
438  }
439  }
440  // Fill occupancy histos
441  if (makeOccupancyHistos_) {
442  if (isBarrel) {
443  recHitOccupancyEB_->Fill(iphi, ieta);
445  } else if (isEEM) {
446  recHitOccupancyEEM_->Fill(iphi, ieta);
448  } else {
449  recHitOccupancyEEP_->Fill(iphi, ieta);
451  }
452  }
453 
454  // Fill timing histos
455  if (makeTimingHistos_) {
456  if (isBarrel) {
457  timingEB_->Fill(time);
458  if (energy > minTimingEnergyEB_) {
459  timingMapEB_->Fill(iphi, ieta, time);
460  //timingMapEBCoarse_->Fill(iphi,ieta,time);
461  }
462  } else if (isEEM) {
463  timingEEM_->Fill(time);
464  if (energy > minTimingEnergyEE_) {
465  timingMapEEM_->Fill(iphi, ieta, time);
466  //timingMapEEMCoarse_->Fill(iphi,ieta,time);
467  }
468  } else {
469  timingEEP_->Fill(time);
470  if (energy > minTimingEnergyEE_) {
471  timingMapEEP_->Fill(iphi, ieta, time);
472  //timingMapEEPCoarse_->Fill(iphi,ieta,time);
473  }
474  }
475  }
476 
477  //All events
478  if (isBarrel) {
479  energyEBAll_->Fill(energy);
480  energyMapEBAll_->Fill(iphi, ieta, energy);
484  timingEBAll_->Fill(time);
485  if (energy > minTimingEnergyEB_) {
486  timingMapEBAll_->Fill(iphi, ieta, time);
488  }
489  } else if (isEEM) {
490  energyEEMAll_->Fill(energy);
491  energyMapEEMAll_->Fill(iphi, ieta, energy);
495  timingEEMAll_->Fill(time);
496  if (energy > minTimingEnergyEE_) {
497  timingMapEEMAll_->Fill(iphi, ieta, time);
499  }
500  } else {
501  energyEEPAll_->Fill(energy);
502  energyMapEEPAll_->Fill(iphi, ieta, energy);
506  timingEEPAll_->Fill(time);
507  if (energy > minTimingEnergyEE_) {
508  timingMapEEPAll_->Fill(iphi, ieta, time);
510  }
511  }
512  // Fill FED-by-FED timing histos (all events)
513  TH1F* timingHist = FEDsAndTimingHists_[FEDid];
514  if (timingHist == nullptr) {
515  initHists(FEDid);
516  timingHist = FEDsAndTimingHists_[FEDid];
517  }
518  if (energy > minTimingAmp_) {
519  timingHist->Fill(hit.time());
520  allFedsTimingHist_->Fill(hit.time());
521  }
522  }
523 }
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const EcalElectronicsMapping * ecalElectronicsMap_
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
std::vector< EcalRecHit >::const_iterator const_iterator
const double minTimingEnergyEB_
std::map< int, TH1F * > FEDsAndTimingHists_
unsigned int id
Definition: DetId.h:17
const double minTimingEnergyEE_
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.

◆ selectDigi()

TGraph * EcalDisplaysByEvent::selectDigi ( DetId  det,
int  ievt 
)
private

Definition at line 255 of file EcalDisplaysByEvent.cc.

References abscissa, edm::DataFrameContainer::begin(), crysAndAmplitudesMap_, EcalElectronicsId::dccId(), DetId::det(), hgcalPerformanceValidation::df, EBdigisHandle, DetId::Ecal, ecalElectronicsMap_, EEdigisHandle, edm::DataFrameContainer::end(), hcalRecHitTable_cff::energy, fedMap_, FEDsAndDCCHeaders_, fileService, nano_mu_digi_cff::float, floatToString(), ecalLiteDTU::gainId(), gainRatio, getEEIndex(), EcalElectronicsMapping::getElectronicsId(), EcalFedMap::getSliceFromFed(), mps_fire::i, intToString(), PixelPluginsPhase0_cfi::isBarrel, TFileService::make(), naiveEvtNum_, Skims_PA_cff::name, ordinate, EcalCondDBWriter_cfi::pedestal, and runGCPTkAlMap::title.

Referenced by selectHits().

255  {
256  int emptyY[10];
257  for (int i = 0; i < 10; i++)
258  emptyY[i] = 0;
259  TGraph* emptyGraph = fileService->make<TGraph>(10, abscissa, emptyY);
260  emptyGraph->SetTitle("NOT ECAL");
261 
262  //If the DetId is not from Ecal, return
263  if (thisDet.det() != DetId::Ecal)
264  return emptyGraph;
265 
266  emptyGraph->SetTitle("NO DIGIS");
267  //find digi we need -- can't get find() to work; need DataFrame(DetId det) to work?
269  int FEDid = 600 + elecId.dccId();
270  bool isBarrel = true;
271  if (FEDid < 610 || FEDid > 645)
272  isBarrel = false;
273  int cryIndex = isBarrel ? ((EBDetId)thisDet).hashedIndex() : getEEIndex(elecId);
274  int ic = isBarrel ? ((EBDetId)thisDet).ic() : cryIndex;
275 
276  string sliceName = fedMap_->getSliceFromFed(FEDid);
278  if (isBarrel) {
280  while (digiItr != EBdigisHandle->end() && ((*digiItr).id() != (EBDetId)thisDet)) {
281  ++digiItr;
282  }
283  if (digiItr == EBdigisHandle->end()) {
284  //LogWarning("EcalDisplaysByEvent") << "Cannot find digi for ic:" << ic
285  // << " FED:" << FEDid << " evt:" << naiveEvtNum_;
286  return emptyGraph;
287  } else
288  df = *digiItr;
289  } else {
291  while (digiItr != EEdigisHandle->end() && ((*digiItr).id() != (EEDetId)thisDet)) {
292  ++digiItr;
293  }
294  if (digiItr == EEdigisHandle->end()) {
295  //LogWarning("EcalDisplaysByEvent") << "Cannot find digi for ic:" << ic
296  // << " FED:" << FEDid << " evt:" << naiveEvtNum_;
297  return emptyGraph;
298  } else
299  df = *digiItr;
300  }
301 
302  int gainId = FEDsAndDCCHeaders_[FEDid].getMgpaGain();
303  int gainHuman;
304  if (gainId == 1)
305  gainHuman = 12;
306  else if (gainId == 2)
307  gainHuman = 6;
308  else if (gainId == 3)
309  gainHuman = 1;
310  else
311  gainHuman = -1;
312 
313  double pedestal = 200;
314 
315  emptyGraph->SetTitle("FIRST TWO SAMPLES NOT GAIN12");
316  if (df.sample(0).gainId() != 1 || df.sample(1).gainId() != 1)
317  return emptyGraph; //goes to the next digi
318  else {
319  ordinate[0] = df.sample(0).adc();
320  ordinate[1] = df.sample(1).adc();
321  pedestal = (double)(ordinate[0] + ordinate[1]) / (double)2;
322  }
323 
324  for (int i = 0; i < df.size(); ++i) {
325  if (df.sample(i).gainId() != 0)
326  ordinate[i] = (int)(pedestal + (df.sample(i).adc() - pedestal) * gainRatio[df.sample(i).gainId() - 1]);
327  else
328  ordinate[i] = 49152; //Saturation of gain1
329  }
330 
331  TGraph* oneGraph = fileService->make<TGraph>(10, abscissa, ordinate);
332  string name = "Graph_ev" + intToString(naiveEvtNum_) + "_ic" + intToString(ic) + "_FED" + intToString(FEDid);
333  string gainString = (gainId == 1) ? "Free" : intToString(gainHuman);
334  string title = "Event" + intToString(naiveEvtNum_) + "_lv1a" + intToString(ievt) + "_ic" + intToString(ic) + "_" +
335  sliceName + "_gain" + gainString;
336 
337  float energy = 0;
338  map<int, float>::const_iterator itr;
339  itr = crysAndAmplitudesMap_.find(cryIndex);
340  if (itr != crysAndAmplitudesMap_.end()) {
341  //edm::LogWarning("EcalDisplaysByEvent")<< "itr->second(ampli)="<< itr->second;
342  energy = (float)itr->second;
343  }
344  //else
345  //edm::LogWarning("EcalDisplaysByEvent") << "cry " << ic << "not found in ampMap";
346 
347  title += "_Energy" + floatToString(round(energy * 1000));
348 
349  oneGraph->SetTitle(title.c_str());
350  oneGraph->SetName(name.c_str());
351  oneGraph->GetXaxis()->SetTitle("sample");
352  oneGraph->GetYaxis()->SetTitle("ADC");
353  return oneGraph;
354 }
edm::Handle< EEDigiCollection > EEdigisHandle
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const EcalElectronicsMapping * ecalElectronicsMap_
int getEEIndex(EcalElectronicsId elecId)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
std::map< int, EcalDCCHeaderBlock > FEDsAndDCCHeaders_
std::string getSliceFromFed(int)
Definition: EcalFedMap.cc:86
static edm::Service< TFileService > fileService
const_iterator end() const
std::string intToString(int num)
static float gainRatio[3]
constexpr int gainId(sample_type sample)
get the gainId (2 bits)
edm::Handle< EBDigiCollection > EBdigisHandle
const_iterator begin() const
The iterator returned can not safely be used across threads.
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::string floatToString(float num)
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::map< int, float > crysAndAmplitudesMap_

◆ selectHits()

void EcalDisplaysByEvent::selectHits ( edm::Handle< EcalRecHitCollection hits,
int  ievt 
)
private

Definition at line 189 of file EcalDisplaysByEvent.cc.

References caloTopo_, timingPdfMaker::can, crysAndAmplitudesMap_, EcalElectronicsId::dccId(), ecalElectronicsMap_, spr::find(), getEEIndex(), EcalElectronicsMapping::getElectronicsId(), CaloTopology::getSubdetectorTopology(), hfClusterShapes_cfi::hits, CaloNavigator< T, TOPO >::home(), mps_fire::i, hit::id, intToString(), PixelPluginsPhase0_cfi::isBarrel, dqmiolumiharvest::j, maskedChannels_, maskedFEDs_, naiveEvtNum_, Skims_PA_cff::name, names, CaloNavigator< T, TOPO >::offsetBy(), mps_fire::result, fileCollector::seed, seedCrys_, seedFrequencyMap_, selectDigi(), side_, threshold_, and runGCPTkAlMap::title.

Referenced by analyze().

189  {
190  for (EcalRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr) {
191  EcalRecHit hit = (*hitItr);
192  DetId det = hit.id();
194  int FEDid = 600 + elecId.dccId();
195  bool isBarrel = true;
196  if (FEDid < 610 || FEDid > 645)
197  isBarrel = false;
198  int cryIndex = isBarrel ? ((EBDetId)det).hashedIndex() : getEEIndex(elecId);
199  int ic = isBarrel ? ((EBDetId)det).ic() : getEEIndex(elecId);
200 
201  float ampli = hit.energy();
202 
203  vector<int>::iterator result;
204  result = find(maskedFEDs_.begin(), maskedFEDs_.end(), FEDid);
205  if (result != maskedFEDs_.end()) {
206  //LogWarning("EcalDisplaysByEvent") << "skipping uncalRecHit for FED " << FEDid << " ; amplitude " << ampli;
207  continue;
208  }
209  result = find(maskedChannels_.begin(), maskedChannels_.end(), cryIndex);
210  if (result != maskedChannels_.end()) {
211  //LogWarning("EcalDisplaysByEvent") << "skipping uncalRecHit for channel: " << cryIndex << " in fed: " << FEDid << " with amplitude " << ampli ;
212  continue;
213  }
214  bool cryIsInList = false;
215  result = find(seedCrys_.begin(), seedCrys_.end(), cryIndex);
216  if (result != seedCrys_.end())
217  cryIsInList = true;
218 
219  // Either we must have a user-requested cry (in which case there is no amplitude selection)
220  // Or we pick all crys that pass the amplitude cut (in which case there is no fixed crystal selection)
221  if (cryIsInList || (seedCrys_.empty() && ampli > threshold_)) {
222  // We have a winner!
223  crysAndAmplitudesMap_[cryIndex] = ampli;
224  string name = "Digis_Event" + intToString(naiveEvtNum_) + "_ic" + intToString(ic) + "_FED" + intToString(FEDid);
225  string title = "Digis";
226  string seed = "ic" + intToString(ic) + "_FED" + intToString(FEDid);
227  int freq = 1;
228  pair<map<string, int>::iterator, bool> pair = seedFrequencyMap_.insert(make_pair(seed, freq));
229  if (!pair.second) {
230  ++(pair.first->second);
231  }
232 
233  //TODO: move this also to TFileService
234  TCanvas can(name.c_str(), title.c_str(), 200, 50, 900, 900);
235  can.Divide(side_, side_);
236  TGraph* myGraph;
237 
239  //Now put each graph in one by one
240  for (int j = side_ / 2; j >= -side_ / 2; --j) {
241  for (int i = -side_ / 2; i <= side_ / 2; ++i) {
242  cursor.home();
243  cursor.offsetBy(i, j);
244  can.cd(i + 1 + side_ / 2 + side_ * (1 - j));
245  myGraph = selectDigi(*cursor, ievt);
246  myGraph->Draw("A*");
247  }
248  }
249  can.Write();
250  names->push_back(name);
251  }
252  }
253 }
void home() const
move the navigator back to the starting point
Definition: CaloNavigator.h:96
std::vector< int > maskedChannels_
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
std::vector< std::string > * names
const EcalElectronicsMapping * ecalElectronicsMap_
int getEEIndex(EcalElectronicsId elecId)
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
std::vector< EcalRecHit >::const_iterator const_iterator
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
std::vector< int > maskedFEDs_
const CaloTopology * caloTopo_
unsigned int id
std::string intToString(int num)
Definition: DetId.h:17
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
Definition: CaloTopology.cc:17
T offsetBy(int deltaX, int deltaY) const
Free movement of arbitray steps.
Definition: CaloNavigator.h:66
std::map< std::string, int > seedFrequencyMap_
std::vector< int > seedCrys_
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
TGraph * selectDigi(DetId det, int ievt)
std::map< int, float > crysAndAmplitudesMap_

Member Data Documentation

◆ abscissa

int EcalDisplaysByEvent::abscissa[10]
private

Definition at line 131 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), and selectDigi().

◆ allFedsTimingHist_

TH1F* EcalDisplaysByEvent::allFedsTimingHist_
private

Definition at line 148 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), and makeHistos().

◆ caloTopo_

const CaloTopology* EcalDisplaysByEvent::caloTopo_
private

Definition at line 237 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectHits().

◆ canvasNames_

TTree* EcalDisplaysByEvent::canvasNames_
private

Definition at line 233 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and endJob().

◆ crysAndAmplitudesMap_

std::map<int, float> EcalDisplaysByEvent::crysAndAmplitudesMap_
private

Definition at line 144 of file EcalDisplaysByEvent.h.

Referenced by selectDigi(), and selectHits().

◆ digiOccupancyCanvas_

TCanvas* EcalDisplaysByEvent::digiOccupancyCanvas_
private

Definition at line 186 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ digiOccupancyCanvasAll_

TCanvas* EcalDisplaysByEvent::digiOccupancyCanvasAll_
private

Definition at line 228 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ digiOccupancyCoarseCanvas_

TCanvas* EcalDisplaysByEvent::digiOccupancyCoarseCanvas_
private

Definition at line 187 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ digiOccupancyCoarseCanvasAll_

TCanvas* EcalDisplaysByEvent::digiOccupancyCoarseCanvasAll_
private

Definition at line 229 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ digiOccupancyEB_

TH2F* EcalDisplaysByEvent::digiOccupancyEB_
private

◆ digiOccupancyEBAll_

TH2F* EcalDisplaysByEvent::digiOccupancyEBAll_
private

Definition at line 210 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ digiOccupancyEBcoarse_

TH2F* EcalDisplaysByEvent::digiOccupancyEBcoarse_
private

◆ digiOccupancyEBcoarseAll_

TH2F* EcalDisplaysByEvent::digiOccupancyEBcoarseAll_
private

Definition at line 211 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ digiOccupancyEEM_

TH2F* EcalDisplaysByEvent::digiOccupancyEEM_
private

◆ digiOccupancyEEMAll_

TH2F* EcalDisplaysByEvent::digiOccupancyEEMAll_
private

Definition at line 212 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ digiOccupancyEEMcoarse_

TH2F* EcalDisplaysByEvent::digiOccupancyEEMcoarse_
private

◆ digiOccupancyEEMcoarseAll_

TH2F* EcalDisplaysByEvent::digiOccupancyEEMcoarseAll_
private

Definition at line 213 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ digiOccupancyEEP_

TH2F* EcalDisplaysByEvent::digiOccupancyEEP_
private

◆ digiOccupancyEEPAll_

TH2F* EcalDisplaysByEvent::digiOccupancyEEPAll_
private

Definition at line 214 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ digiOccupancyEEPcoarse_

TH2F* EcalDisplaysByEvent::digiOccupancyEEPcoarse_
private

◆ digiOccupancyEEPcoarseAll_

TH2F* EcalDisplaysByEvent::digiOccupancyEEPcoarseAll_
private

Definition at line 215 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ EBDigis_

const edm::InputTag EcalDisplaysByEvent::EBDigis_
private

Definition at line 99 of file EcalDisplaysByEvent.h.

◆ EBdigisHandle

edm::Handle<EBDigiCollection> EcalDisplaysByEvent::EBdigisHandle
private

Definition at line 103 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectDigi().

◆ ebDigiToken_

const edm::EDGetTokenT<EBDigiCollection> EcalDisplaysByEvent::ebDigiToken_
private

Definition at line 109 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ EBRecHitCollection_

const edm::InputTag EcalDisplaysByEvent::EBRecHitCollection_
private

Definition at line 97 of file EcalDisplaysByEvent.h.

◆ ebRecHitToken_

const edm::EDGetTokenT<EcalRecHitCollection> EcalDisplaysByEvent::ebRecHitToken_
private

Definition at line 107 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ ecalElectronicsMap_

const EcalElectronicsMapping* EcalDisplaysByEvent::ecalElectronicsMap_
private

Definition at line 236 of file EcalDisplaysByEvent.h.

Referenced by beginRun(), makeHistos(), selectDigi(), and selectHits().

◆ ecalMappingToken_

const edm::ESGetToken<EcalElectronicsMapping, EcalMappingRcd> EcalDisplaysByEvent::ecalMappingToken_
private

Definition at line 112 of file EcalDisplaysByEvent.h.

Referenced by beginRun().

◆ EEDigis_

const edm::InputTag EcalDisplaysByEvent::EEDigis_
private

Definition at line 100 of file EcalDisplaysByEvent.h.

◆ EEdigisHandle

edm::Handle<EEDigiCollection> EcalDisplaysByEvent::EEdigisHandle
private

Definition at line 104 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectDigi().

◆ eeDigiToken_

const edm::EDGetTokenT<EEDigiCollection> EcalDisplaysByEvent::eeDigiToken_
private

Definition at line 110 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ EERecHitCollection_

const edm::InputTag EcalDisplaysByEvent::EERecHitCollection_
private

Definition at line 98 of file EcalDisplaysByEvent.h.

◆ eeRecHitToken_

const edm::EDGetTokenT<EcalRecHitCollection> EcalDisplaysByEvent::eeRecHitToken_
private

Definition at line 108 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ energyCanvas_

TCanvas* EcalDisplaysByEvent::energyCanvas_
private

Definition at line 181 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ energyCanvasAll_

TCanvas* EcalDisplaysByEvent::energyCanvasAll_
private

Definition at line 223 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ energyEB_

TH1F* EcalDisplaysByEvent::energyEB_
private

◆ energyEBAll_

TH1F* EcalDisplaysByEvent::energyEBAll_
private

Definition at line 195 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyEEM_

TH1F* EcalDisplaysByEvent::energyEEM_
private

◆ energyEEMAll_

TH1F* EcalDisplaysByEvent::energyEEMAll_
private

Definition at line 196 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyEEP_

TH1F* EcalDisplaysByEvent::energyEEP_
private

◆ energyEEPAll_

TH1F* EcalDisplaysByEvent::energyEEPAll_
private

Definition at line 197 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyMapCanvas_

TCanvas* EcalDisplaysByEvent::energyMapCanvas_
private

Definition at line 182 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ energyMapCanvasAll_

TCanvas* EcalDisplaysByEvent::energyMapCanvasAll_
private

Definition at line 224 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ energyMapCoarseCanvas_

TCanvas* EcalDisplaysByEvent::energyMapCoarseCanvas_
private

Definition at line 183 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ energyMapCoarseCanvasAll_

TCanvas* EcalDisplaysByEvent::energyMapCoarseCanvasAll_
private

Definition at line 225 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ energyMapEB_

TH2F* EcalDisplaysByEvent::energyMapEB_
private

◆ energyMapEBAll_

TH2F* EcalDisplaysByEvent::energyMapEBAll_
private

Definition at line 198 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyMapEBcoarse_

TH2F* EcalDisplaysByEvent::energyMapEBcoarse_
private

◆ energyMapEBcoarseAll_

TH2F* EcalDisplaysByEvent::energyMapEBcoarseAll_
private

Definition at line 199 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyMapEEM_

TH2F* EcalDisplaysByEvent::energyMapEEM_
private

◆ energyMapEEMAll_

TH2F* EcalDisplaysByEvent::energyMapEEMAll_
private

Definition at line 200 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyMapEEMcoarse_

TH2F* EcalDisplaysByEvent::energyMapEEMcoarse_
private

◆ energyMapEEMcoarseAll_

TH2F* EcalDisplaysByEvent::energyMapEEMcoarseAll_
private

Definition at line 201 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyMapEEP_

TH2F* EcalDisplaysByEvent::energyMapEEP_
private

◆ energyMapEEPAll_

TH2F* EcalDisplaysByEvent::energyMapEEPAll_
private

Definition at line 202 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ energyMapEEPcoarse_

TH2F* EcalDisplaysByEvent::energyMapEEPcoarse_
private

◆ energyMapEEPcoarseAll_

TH2F* EcalDisplaysByEvent::energyMapEEPcoarseAll_
private

Definition at line 203 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ fedMap_

EcalFedMap* EcalDisplaysByEvent::fedMap_
private

Definition at line 235 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), initHists(), and selectDigi().

◆ FEDsAndDCCHeaders_

std::map<int, EcalDCCHeaderBlock> EcalDisplaysByEvent::FEDsAndDCCHeaders_
private

Definition at line 145 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectDigi().

◆ FEDsAndTimingHists_

std::map<int, TH1F*> EcalDisplaysByEvent::FEDsAndTimingHists_
private

Definition at line 143 of file EcalDisplaysByEvent.h.

Referenced by initHists(), and makeHistos().

◆ fileService

edm::Service< TFileService > EcalDisplaysByEvent::fileService
staticprivate

Definition at line 135 of file EcalDisplaysByEvent.h.

Referenced by analyze(), EcalDisplaysByEvent(), initHists(), and selectDigi().

◆ gainRatio

float EcalDisplaysByEvent::gainRatio = {1., 2., 12.}
staticprivate

Definition at line 134 of file EcalDisplaysByEvent.h.

Referenced by selectDigi().

◆ headerProducer_

const edm::InputTag EcalDisplaysByEvent::headerProducer_
private

Definition at line 101 of file EcalDisplaysByEvent.h.

◆ histoCanvasNames_

TTree* EcalDisplaysByEvent::histoCanvasNames_
private

Definition at line 234 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and endJob().

◆ histoCanvasNamesVector

std::vector<std::string>* EcalDisplaysByEvent::histoCanvasNamesVector
private

Definition at line 138 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and drawCanvas().

◆ histRangeMax_

const double EcalDisplaysByEvent::histRangeMax_
private

Definition at line 124 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

◆ histRangeMin_

const double EcalDisplaysByEvent::histRangeMin_
private

Definition at line 123 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

◆ listEBChannels

std::set<EBDetId> EcalDisplaysByEvent::listEBChannels
private

Definition at line 128 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ listEEChannels

std::set<EEDetId> EcalDisplaysByEvent::listEEChannels
private

Definition at line 129 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ makeDigiGraphs_

const bool EcalDisplaysByEvent::makeDigiGraphs_
private

Definition at line 119 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ makeEnergyHistos_

const bool EcalDisplaysByEvent::makeEnergyHistos_
private

Definition at line 121 of file EcalDisplaysByEvent.h.

Referenced by drawHistos(), initEvtByEvtHists(), and makeHistos().

◆ makeOccupancyHistos_

const bool EcalDisplaysByEvent::makeOccupancyHistos_
private

Definition at line 122 of file EcalDisplaysByEvent.h.

Referenced by drawHistos(), initEvtByEvtHists(), and makeHistos().

◆ makeTimingHistos_

const bool EcalDisplaysByEvent::makeTimingHistos_
private

Definition at line 120 of file EcalDisplaysByEvent.h.

Referenced by drawHistos(), initEvtByEvtHists(), and makeHistos().

◆ maskedChannels_

std::vector<int> EcalDisplaysByEvent::maskedChannels_
private

Definition at line 139 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), endJob(), and selectHits().

◆ maskedEBs_

std::vector<std::string> EcalDisplaysByEvent::maskedEBs_
private

Definition at line 142 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent().

◆ maskedFEDs_

std::vector<int> EcalDisplaysByEvent::maskedFEDs_
private

Definition at line 140 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), endJob(), and selectHits().

◆ minTimingAmp_

const double EcalDisplaysByEvent::minTimingAmp_
private

Definition at line 118 of file EcalDisplaysByEvent.h.

Referenced by makeHistos().

◆ minTimingEnergyEB_

const double EcalDisplaysByEvent::minTimingEnergyEB_
private

Definition at line 125 of file EcalDisplaysByEvent.h.

Referenced by makeHistos().

◆ minTimingEnergyEE_

const double EcalDisplaysByEvent::minTimingEnergyEE_
private

Definition at line 126 of file EcalDisplaysByEvent.h.

Referenced by makeHistos().

◆ naiveEvtNum_

int EcalDisplaysByEvent::naiveEvtNum_
private

◆ names

std::vector<std::string>* EcalDisplaysByEvent::names
private

Definition at line 137 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectHits().

◆ ordinate

int EcalDisplaysByEvent::ordinate[10]
private

Definition at line 132 of file EcalDisplaysByEvent.h.

Referenced by selectDigi().

◆ rawDataToken_

const edm::EDGetTokenT<EcalRawDataCollection> EcalDisplaysByEvent::rawDataToken_
private

Definition at line 106 of file EcalDisplaysByEvent.h.

Referenced by analyze().

◆ recHitOccupancyCanvas_

TCanvas* EcalDisplaysByEvent::recHitOccupancyCanvas_
private

Definition at line 184 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ recHitOccupancyCanvasAll_

TCanvas* EcalDisplaysByEvent::recHitOccupancyCanvasAll_
private

Definition at line 226 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ recHitOccupancyCoarseCanvas_

TCanvas* EcalDisplaysByEvent::recHitOccupancyCoarseCanvas_
private

Definition at line 185 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ recHitOccupancyCoarseCanvasAll_

TCanvas* EcalDisplaysByEvent::recHitOccupancyCoarseCanvasAll_
private

Definition at line 227 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ recHitOccupancyEB_

TH2F* EcalDisplaysByEvent::recHitOccupancyEB_
private

◆ recHitOccupancyEBAll_

TH2F* EcalDisplaysByEvent::recHitOccupancyEBAll_
private

Definition at line 204 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ recHitOccupancyEBcoarse_

TH2F* EcalDisplaysByEvent::recHitOccupancyEBcoarse_
private

◆ recHitOccupancyEBcoarseAll_

TH2F* EcalDisplaysByEvent::recHitOccupancyEBcoarseAll_
private

Definition at line 205 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ recHitOccupancyEEM_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEM_
private

◆ recHitOccupancyEEMAll_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEMAll_
private

Definition at line 206 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ recHitOccupancyEEMcoarse_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEMcoarse_
private

◆ recHitOccupancyEEMcoarseAll_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEMcoarseAll_
private

Definition at line 207 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ recHitOccupancyEEP_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEP_
private

◆ recHitOccupancyEEPAll_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEPAll_
private

Definition at line 208 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ recHitOccupancyEEPcoarse_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEPcoarse_
private

◆ recHitOccupancyEEPcoarseAll_

TH2F* EcalDisplaysByEvent::recHitOccupancyEEPcoarseAll_
private

Definition at line 209 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ runNum_

int EcalDisplaysByEvent::runNum_
private

Definition at line 115 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and endJob().

◆ seedCrys_

std::vector<int> EcalDisplaysByEvent::seedCrys_
private

Definition at line 141 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), and selectHits().

◆ seedFrequencyMap_

std::map<std::string, int> EcalDisplaysByEvent::seedFrequencyMap_
private

Definition at line 146 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and selectHits().

◆ side_

const int EcalDisplaysByEvent::side_
private

Definition at line 116 of file EcalDisplaysByEvent.h.

Referenced by selectHits().

◆ threshold_

const double EcalDisplaysByEvent::threshold_
private

Definition at line 117 of file EcalDisplaysByEvent.h.

Referenced by selectHits().

◆ timingCanvas_

TCanvas* EcalDisplaysByEvent::timingCanvas_
private

Definition at line 180 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ timingCanvasAll_

TCanvas* EcalDisplaysByEvent::timingCanvasAll_
private

Definition at line 222 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ timingEB_

TH1F* EcalDisplaysByEvent::timingEB_
private

◆ timingEBAll_

TH1F* EcalDisplaysByEvent::timingEBAll_
private

Definition at line 192 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ timingEEM_

TH1F* EcalDisplaysByEvent::timingEEM_
private

◆ timingEEMAll_

TH1F* EcalDisplaysByEvent::timingEEMAll_
private

Definition at line 193 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ timingEEP_

TH1F* EcalDisplaysByEvent::timingEEP_
private

◆ timingEEPAll_

TH1F* EcalDisplaysByEvent::timingEEPAll_
private

Definition at line 194 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ timingMapCanvas_

TCanvas* EcalDisplaysByEvent::timingMapCanvas_
private

Definition at line 189 of file EcalDisplaysByEvent.h.

Referenced by deleteEvtByEvtHists(), drawHistos(), and initEvtByEvtHists().

◆ timingMapCanvasAll_

TCanvas* EcalDisplaysByEvent::timingMapCanvasAll_
private

Definition at line 231 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

◆ timingMapCoarseCanvas_

TCanvas* EcalDisplaysByEvent::timingMapCoarseCanvas_
private

Definition at line 188 of file EcalDisplaysByEvent.h.

Referenced by drawCanvas().

◆ timingMapCoarseCanvasAll_

TCanvas* EcalDisplaysByEvent::timingMapCoarseCanvasAll_
private

Definition at line 230 of file EcalDisplaysByEvent.h.

◆ timingMapEB_

TH3F* EcalDisplaysByEvent::timingMapEB_
private

◆ timingMapEBAll_

TH3F* EcalDisplaysByEvent::timingMapEBAll_
private

Definition at line 219 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ timingMapEBCoarse_

TH3F* EcalDisplaysByEvent::timingMapEBCoarse_
private

Definition at line 174 of file EcalDisplaysByEvent.h.

◆ timingMapEBCoarseAll_

TH3F* EcalDisplaysByEvent::timingMapEBCoarseAll_
private

Definition at line 216 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and makeHistos().

◆ timingMapEEM_

TH3F* EcalDisplaysByEvent::timingMapEEM_
private

◆ timingMapEEMAll_

TH3F* EcalDisplaysByEvent::timingMapEEMAll_
private

Definition at line 220 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ timingMapEEMCoarse_

TH3F* EcalDisplaysByEvent::timingMapEEMCoarse_
private

Definition at line 175 of file EcalDisplaysByEvent.h.

Referenced by initEvtByEvtHists().

◆ timingMapEEMCoarseAll_

TH3F* EcalDisplaysByEvent::timingMapEEMCoarseAll_
private

Definition at line 217 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and makeHistos().

◆ timingMapEEP_

TH3F* EcalDisplaysByEvent::timingMapEEP_
private

◆ timingMapEEPAll_

TH3F* EcalDisplaysByEvent::timingMapEEPAll_
private

Definition at line 221 of file EcalDisplaysByEvent.h.

Referenced by endJob(), initAllEventHistos(), and makeHistos().

◆ timingMapEEPCoarse_

TH3F* EcalDisplaysByEvent::timingMapEEPCoarse_
private

Definition at line 176 of file EcalDisplaysByEvent.h.

Referenced by initEvtByEvtHists().

◆ timingMapEEPCoarseAll_

TH3F* EcalDisplaysByEvent::timingMapEEPCoarseAll_
private

Definition at line 218 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and makeHistos().

◆ topologyToken_

const edm::ESGetToken<CaloTopology, CaloTopologyRecord> EcalDisplaysByEvent::topologyToken_
private

Definition at line 113 of file EcalDisplaysByEvent.h.

Referenced by analyze().