|
|
Go to the documentation of this file.
43 : EBRecHitCollection_(iConfig.getParameter<
edm::
InputTag>(
"EcalRecHitCollectionEB")),
44 EERecHitCollection_(iConfig.getParameter<
edm::
InputTag>(
"EcalRecHitCollectionEE")),
45 EBDigis_(iConfig.getParameter<
edm::
InputTag>(
"EBDigiCollection")),
46 EEDigis_(iConfig.getParameter<
edm::
InputTag>(
"EEDigiCollection")),
47 headerProducer_(iConfig.getParameter<
edm::
InputTag>(
"headerProducer")),
49 side_(iConfig.getUntrackedParameter<
int>(
"side", 3)),
50 threshold_(iConfig.getUntrackedParameter<double>(
"amplitudeThreshold", 12.0)),
51 minTimingAmp_(iConfig.getUntrackedParameter<double>(
"minimumTimingAmplitude", 0.100)) {
52 vector<int> listDefaults;
53 listDefaults.push_back(-1);
59 vector<string> defaultMaskedEBs;
60 defaultMaskedEBs.push_back(
"none");
65 string title1 =
"Jitter for all FEDs";
66 string name1 =
"JitterAllFEDs";
74 for (vector<string>::const_iterator ebItr =
maskedEBs_.begin(); ebItr !=
maskedEBs_.end(); ++ebItr) {
80 for (
int i = 0;
i < 10;
i++)
104 int ievt =
iEvent.id().event();
110 names =
new std::vector<string>();
136 for (
int i = 0;
i < 10;
i++)
139 emptyGraph->SetTitle(
"NOT ECAL");
145 emptyGraph->SetTitle(
"NO DIGIS");
148 int FEDid = 600 + elecId.
dccId();
150 if (FEDid < 610 || FEDid > 645)
194 emptyGraph->SetTitle(
"FIRST TWO SAMPLES NOT GAIN12");
195 if (
df.sample(0).gainId() != 1 ||
df.sample(1).gainId() != 1)
203 for (
int i = 0;
i <
df.size(); ++
i) {
204 if (
df.sample(
i).gainId() != 0)
214 sliceName +
"_gain" + gainString;
217 map<int, float>::const_iterator itr;
228 oneGraph->SetTitle(
title.c_str());
229 oneGraph->SetName(
name.c_str());
230 oneGraph->GetXaxis()->SetTitle(
"sample");
231 oneGraph->GetYaxis()->SetTitle(
"ADC");
240 int FEDid = 600 + elecId.
dccId();
242 if (FEDid < 610 || FEDid > 645)
247 float ampli =
hit.energy();
249 vector<int>::iterator
result;
260 bool cryIsInList =
false;
271 string title =
"Digis";
276 ++(pair.first->second);
279 TCanvas
can(
name.c_str(),
title.c_str(), 200, 50, 900, 900);
301 if (timingHist ==
nullptr) {
306 timingHist->Fill(
hit.time());
313 int FEDid = 600 + elecId.
dccId();
321 string title1 =
"Jitter for ";
323 string name1 =
"JitterFED";
325 TH1F* timingHist =
fileService->
make<TH1F>(name1.c_str(), title1.c_str(), 150, -7, 7);
340 string frequencies =
"";
343 if (itr->second > 1) {
344 frequencies += itr->first;
345 frequencies +=
" Frequency: ";
350 LogWarning(
"EcalMipGraphs") <<
"Found seeds with frequency > 1: "
367 LogWarning(
"EcalMipGraphs") <<
"Masked FEDs are: " <<
feds <<
" and that is all!";
372 ostringstream myStream;
373 myStream <<
num << flush;
374 return (myStream.str());
379 ostringstream myStream;
380 myStream <<
num << flush;
381 return (myStream.str());
TH1F * allFedsTimingHist_
constexpr int gainId(sample_type sample)
get the gainId (2 bits)
std::vector< T >::const_iterator const_iterator
std::set< EBDetId > listEBChannels
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
std::string intToString(int num)
constexpr Detector det() const
get the detector field from this detid
edm::InputTag headerProducer_
edm::InputTag EBRecHitCollection_
std::vector< std::string > * names
std::set< EEDetId > listEEChannels
const EcalElectronicsMapping * ecalElectronicsMap_
edm::Handle< EBDigiCollection > EBdigisHandle
std::map< std::string, int > seedFrequencyMap_
T getUntrackedParameter(std::string const &, T const &) const
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Log< level::Warning, false > LogWarning
int towerId() const
get the tower id
std::vector< int > maskedFEDs_
edm::InputTag EERecHitCollection_
edm::Handle< EEDigiCollection > EEdigisHandle
const_iterator begin() const
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
std::map< int, TH1F * > FEDsAndTimingHists_
void home() const
move the navigator back to the starting point
std::vector< int > maskedChannels_
void beginRun(edm::Run const &, edm::EventSetup const &) override
const_iterator end() const
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
static float gainRatio[3]
std::map< int, EcalDCCHeaderBlock > FEDsAndDCCHeaders_
std::string getSliceFromFed(int)
const_iterator begin() const
The iterator returned can not safely be used across threads.
EcalMipGraphs(const edm::ParameterSet &)
std::string floatToString(float num)
void selectHits(edm::Handle< EcalRecHitCollection > hits, int ievt, edm::ESHandle< CaloTopology > caloTopo)
~EcalMipGraphs() override
T offsetBy(int deltaX, int deltaY) const
Free movement of arbitray steps.
int getFedFromSlice(std::string)
int stripId() const
get the tower id
std::vector< std::string > maskedEBs_
std::map< int, float > crysAndAmplitudesMap_
TGraph * selectDigi(DetId det, int ievt)
void analyze(edm::Event const &, edm::EventSetup const &) override
int xtalId() const
get the channel id
static edm::Service< TFileService > fileService
int getEEIndex(EcalElectronicsId elecId)
const_iterator end() const
T * make(const Args &... args) const
make new ROOT object
std::vector< int > seedCrys_