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::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 EcalDisplaysByEvent (const edm::ParameterSet &)
 
 ~EcalDisplaysByEvent ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- 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
 
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::vector< ModuleDescription const * > &modules, 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
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
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

virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &)
 
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)
 
virtual void endJob ()
 
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, edm::ESHandle< CaloTopology > caloTopo)
 

Private Attributes

int abscissa [10]
 
TH1F * allFedsTimingHist_
 
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_
 
edm::InputTag EBDigis_
 
edm::Handle< EBDigiCollectionEBdigisHandle
 
edm::InputTag EBRecHitCollection_
 
const EcalElectronicsMappingecalElectronicsMap_
 
edm::InputTag EEDigis_
 
edm::Handle< EEDigiCollectionEEdigisHandle
 
edm::InputTag EERecHitCollection_
 
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_
 
edm::InputTag headerProducer_
 
TTree * histoCanvasNames_
 
std::vector< std::string > * histoCanvasNamesVector
 
double histRangeMax_
 
double histRangeMin_
 
std::set< EBDetIdlistEBChannels
 
std::set< EEDetIdlistEEChannels
 
bool makeDigiGraphs_
 
bool makeEnergyHistos_
 
bool makeOccupancyHistos_
 
bool makeTimingHistos_
 
std::vector< int > maskedChannels_
 
std::vector< std::string > maskedEBs_
 
std::vector< int > maskedFEDs_
 
double minTimingAmp_
 
double minTimingEnergyEB_
 
double minTimingEnergyEE_
 
int naiveEvtNum_
 
std::vector< std::string > * names
 
int ordinate [10]
 
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_
 
int side_
 
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_
 

Static Private Attributes

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

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
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)
 

Detailed Description

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

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

Definition at line 64 of file EcalDisplaysByEvent.h.

Member Enumeration Documentation

Enumerator
EB_FINE 
EB_COARSE 
EEM_FINE 
EEM_COARSE 
EEP_FINE 
EEP_COARSE 

Definition at line 80 of file EcalDisplaysByEvent.h.

Constructor & Destructor Documentation

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

Definition at line 43 of file EcalDisplaysByEvent.cc.

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

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

Definition at line 102 of file EcalDisplaysByEvent.cc.

103 {
104 }

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 122 of file EcalDisplaysByEvent.cc.

References edm::SortedCollection< T, SORT >::begin(), canvasNames_, deleteEvtByEvtHists(), drawHistos(), EBDigis_, EBdigisHandle, EBRecHitCollection_, EEDigis_, EEdigisHandle, EERecHitCollection_, edm::SortedCollection< T, SORT >::end(), edm::EventID::event(), FEDsAndDCCHeaders_, fileService, edm::EventSetup::get(), edm::Event::getByLabel(), headerProducer_, histoCanvasNames_, histoCanvasNamesVector, edm::EventBase::id(), initEvtByEvtHists(), listEBChannels, listEEChannels, TFileService::make(), makeDigiGraphs_, makeHistos(), naiveEvtNum_, names, edm::EventID::run(), runNum_, selectHits(), and edm::DataFrameContainer::size().

123 {
124 
125  // get the headers
126  // (one header for each supermodule)
128  iEvent.getByLabel(headerProducer_, DCCHeaders);
129 
130  for (EcalRawDataCollection::const_iterator headerItr= DCCHeaders->begin();
131  headerItr != DCCHeaders->end ();
132  ++headerItr)
133  {
134  FEDsAndDCCHeaders_[headerItr->id()+600] = *headerItr;
135  }
136 
137  int ievt = iEvent.id().event();
138  naiveEvtNum_++;
139 
140  if(runNum_==-1)
141  {
142  runNum_ = iEvent.id().run();
143  canvasNames_ = fileService->make<TTree>("canvasNames","Names of written canvases");
144  names = new std::vector<string>();
145  canvasNames_->Branch("names","vector<string>",&names);
146 
147  histoCanvasNames_ = fileService->make<TTree>("histoCanvasNames","Names of written canvases with histos");
148  histoCanvasNamesVector = new std::vector<string>();
149  histoCanvasNames_->Branch("histoCanvasNamesVector","vector<string>",&histoCanvasNamesVector);
150  }
151 
152  //We only want the 3x3's for this event...
153  listEBChannels.clear();
154  listEEChannels.clear();
155 
156  //Get hits, digis, caloTopology from event/eventSetup
159  ESHandle<CaloTopology> caloTopo;
160  iSetup.get<CaloTopologyRecord>().get(caloTopo);
161  iEvent.getByLabel(EBRecHitCollection_, EBhits);
162  iEvent.getByLabel(EERecHitCollection_, EEhits);
163  iEvent.getByLabel(EBDigis_, EBdigisHandle);
164  iEvent.getByLabel(EEDigis_, EEdigisHandle);
165 
166  // Initialize histos for this event
168 
169  bool hasEBdigis = false;
170  bool hasEEdigis = false;
171  if(EBdigisHandle->size() > 0)
172  hasEBdigis = true;
173  if(EEdigisHandle->size() > 0)
174  hasEEdigis = true;
175 
176  // Produce the digi graphs
177  if(makeDigiGraphs_)
178  {
179  if(hasEBdigis) //if event has digis, it should have hits
180  selectHits(EBhits, ievt, caloTopo);
181  if(hasEEdigis)
182  selectHits(EEhits, ievt, caloTopo);
183  }
184 
185  // Produce the histos
186  if(hasEBdigis)
187  {
189  makeHistos(EBhits);
190  }
191  if(hasEEdigis)
192  {
194  makeHistos(EEhits);
195  }
196 
197  if(hasEBdigis || hasEEdigis)
198  drawHistos();
199 
201 }
std::set< EBDetId > listEBChannels
edm::Handle< EEDigiCollection > EEdigisHandle
std::vector< std::string > * names
edm::InputTag headerProducer_
std::vector< EcalDCCHeaderBlock >::const_iterator const_iterator
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::set< EEDetId > listEEChannels
std::vector< std::string > * histoCanvasNamesVector
int iEvent
Definition: GenABIO.cc:230
std::map< int, EcalDCCHeaderBlock > FEDsAndDCCHeaders_
static edm::Service< TFileService > fileService
const_iterator end() const
void makeHistos(edm::Handle< EBDigiCollection > ebDigis)
void selectHits(edm::Handle< EcalRecHitCollection > hits, int ievt, edm::ESHandle< CaloTopology > caloTopo)
edm::Handle< EBDigiCollection > EBdigisHandle
void initEvtByEvtHists(int naiveEvtNum_, int ievt)
edm::InputTag EERecHitCollection_
edm::InputTag EBRecHitCollection_
const_iterator begin() const
void EcalDisplaysByEvent::beginRun ( edm::Run const &  ,
edm::EventSetup const &  c 
)
privatevirtual
void EcalDisplaysByEvent::deleteEvtByEvtHists ( )
private

Definition at line 738 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().

739 {
740  delete timingEB_;
741  delete timingEEM_;
742  delete timingEEP_;
743  delete timingMapEB_;
744  delete timingMapEEM_;
745  delete timingMapEEP_;
746  delete timingCanvas_;
747  delete timingMapCanvas_;
748  delete energyEB_;
749  delete energyEEM_;
750  delete energyEEP_;
751  delete energyMapEB_;
752  delete energyMapEEM_;
753  delete energyMapEEP_;
754  delete energyMapEBcoarse_;
755  delete energyMapEEMcoarse_;
756  delete energyMapEEPcoarse_;
757  delete energyCanvas_;
758  delete energyMapCanvas_;
759  delete energyMapCoarseCanvas_;
760  delete recHitOccupancyEB_;
761  delete recHitOccupancyEEP_;
762  delete recHitOccupancyEEM_;
766  delete digiOccupancyEB_;
767  delete digiOccupancyEEM_;
768  delete digiOccupancyEEP_;
769  delete digiOccupancyEBcoarse_;
772  delete recHitOccupancyCanvas_;
774  delete digiOccupancyCanvas_;
776 }
TCanvas * digiOccupancyCoarseCanvas_
TCanvas * recHitOccupancyCoarseCanvas_
void EcalDisplaysByEvent::drawCanvas ( TCanvas *  canvas,
TH1F *  hist1,
TH1F *  hist2,
TH1F *  hist3 
)
private

Definition at line 976 of file EcalDisplaysByEvent.cc.

References histoCanvasNamesVector.

Referenced by drawHistos(), and endJob().

976  {
977  canvas->Divide(1,2);
978  canvas->cd(1)->Divide(2,1);
979  canvas->cd(1)->cd(1);
980  hist1->Draw();
981  canvas->cd(2);
982  hist2->Draw();
983  canvas->cd(1)->cd(2);
984  hist3->Draw();
985  histoCanvasNamesVector->push_back(canvas->GetName());
986  canvas->SetCanvasSize(500,500);
987  canvas->SetFixedAspectRatio(true);
988  canvas->Write();
989 }
std::vector< std::string > * histoCanvasNamesVector
def canvas(sub, attr)
Definition: svgfig.py:481
void EcalDisplaysByEvent::drawCanvas ( TCanvas *  canvas,
TH2F *  hist1,
TH2F *  hist2,
TH2F *  hist3 
)
private

Definition at line 991 of file EcalDisplaysByEvent.cc.

References drawEELines(), and histoCanvasNamesVector.

991  {
992  canvas->Divide(1,2);
993  canvas->cd(1)->Divide(2,1);
994  // EEM
995  canvas->cd(1)->cd(1);
996  hist1->Draw("colz");
997  drawEELines();
998  // EB
999  canvas->cd(2);
1000  hist2->Draw("colz");
1001  hist2->GetXaxis()->SetNdivisions(-18);
1002  hist2->GetYaxis()->SetNdivisions(2);
1003  canvas->GetPad(2)->SetGridx(1);
1004  canvas->GetPad(2)->SetGridy(1);
1005  // EEP
1006  canvas->cd(1)->cd(2);
1007  hist3->Draw("colz");
1008  drawEELines();
1009  histoCanvasNamesVector->push_back(canvas->GetName());
1010  canvas->SetCanvasSize(500,500);
1011  canvas->SetFixedAspectRatio(true);
1012  canvas->Write();
1013 }
std::vector< std::string > * histoCanvasNamesVector
def canvas(sub, attr)
Definition: svgfig.py:481
void EcalDisplaysByEvent::drawCanvas ( TCanvas *  canvas,
TH3F *  hist1,
TH3F *  hist2,
TH3F *  hist3 
)
private

Definition at line 1015 of file EcalDisplaysByEvent.cc.

References drawEELines(), drawTimingErrors(), histoCanvasNamesVector, and timingMapCoarseCanvas_.

1015  {
1017  canvas->cd();
1018  TProfile2D* profile2 = (TProfile2D*) hist2->Project3DProfile("yx");
1019  profile2->Draw("colz");
1020  drawTimingErrors(profile2);
1021  }
1022  else {
1023  canvas->Divide(1,2);
1024  canvas->cd(1)->Divide(2,1);
1025  // EEM
1026  canvas->cd(1)->cd(1);
1027  TProfile2D* profile1 = (TProfile2D*) hist1->Project3DProfile("yx");
1028  profile1->Draw("colz");
1029  drawEELines();
1030  // EB
1031  canvas->cd(2);
1032  TProfile2D* profile2 = (TProfile2D*) hist2->Project3DProfile("yx");
1033  profile2->Draw("colz");
1034  profile2->GetXaxis()->SetNdivisions(-18);
1035  profile2->GetYaxis()->SetNdivisions(2);
1036  canvas->GetPad(2)->SetGridx(1);
1037  canvas->GetPad(2)->SetGridy(1);
1038  // EEP
1039  canvas->cd(1)->cd(2);
1040  TProfile2D* profile3 = (TProfile2D*) hist3->Project3DProfile("yx");
1041  profile3->Draw("colz");
1042  drawEELines();
1043  }
1044  histoCanvasNamesVector->push_back(canvas->GetName());
1045  canvas->SetCanvasSize(500,500);
1046  canvas->SetFixedAspectRatio(true);
1047  canvas->Write();
1048 }
void drawTimingErrors(TProfile2D *profile)
std::vector< std::string > * histoCanvasNamesVector
def canvas(sub, attr)
Definition: svgfig.py:481
void EcalDisplaysByEvent::drawEELines ( )
private

Definition at line 1087 of file EcalDisplaysByEvent.cc.

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

Referenced by drawCanvas().

1087  {
1088 
1089  int ixSectorsEE[202] = {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, 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, 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, 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, 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, 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, 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, 30, 20, 20, 10, 10, 8, 0, 45, 45, 40, 40, 35, 35, 0, 55, 55, 60, 60, 65, 65};
1090 
1091  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, 45, 45, 43, 43, 42, 42, 41, 41, 40, 40, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 45, 45, 50, 0, 50, 60, 60, 65, 65, 75, 75, 80, 80, 85, 85, 87, 87, 92, 92, 95, 95, 97, 97,100,100, 97, 97, 95, 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, 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, 40, 50, 0, 45, 45, 40, 40, 35, 35, 30, 30, 25, 25, 0, 50, 50, 55, 55, 60, 60, 0, 60, 60, 65, 65, 70, 70, 75, 75, 85, 85, 87, 0, 61,100, 0, 60, 60, 65, 65, 70, 70, 75, 75, 85, 85, 87, 0, 50, 50, 55, 55, 60, 60, 0, 45, 45, 40, 40, 35, 35, 30, 30, 25, 25, 0, 39, 30, 30, 15, 15, 5, 0, 39, 30, 30, 15, 15, 5};
1092 
1093 
1094  for ( int i=0; i<202; i++) {
1095  ixSectorsEE[i] += 1;
1096  iySectorsEE[i] += 1;
1097 // std::cout << i << " " << ixSectorsEE[i] << " " << iySectorsEE[i] << std::endl;
1098  }
1099 
1100  TLine l;
1101  l.SetLineWidth(1);
1102  for ( int i=0; i<201; i=i+1) {
1103  if ( (ixSectorsEE[i]!=1 || iySectorsEE[i]!=1) &&
1104  (ixSectorsEE[i+1]!=1 || iySectorsEE[i+1]!=1) ) {
1105  l.DrawLine(ixSectorsEE[i], iySectorsEE[i],
1106  ixSectorsEE[i+1], iySectorsEE[i+1]);
1107  }
1108  }
1109 
1110 
1111 }
void EcalDisplaysByEvent::drawHistos ( )
private

Definition at line 948 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().

949 {
951  {
952  // Put the timing canvas together
954  // drawCanvas(timingMapCoarseCanvas_,timingMapEEMCoarse_,timingMapEBCoarse_,timingMapEEPCoarse_);
956  }
958  {
959  // Put the energy canvas together
961  // Put the energy map canvas together
964  }
966  {
967  // Put the occupancy canvas together
970  // And the same for the digis
973  }
974 }
void drawCanvas(TCanvas *canvas, TH1F *hist1, TH1F *hist2, TH1F *hist3)
TCanvas * digiOccupancyCoarseCanvas_
TCanvas * recHitOccupancyCoarseCanvas_
void EcalDisplaysByEvent::drawTimingErrors ( TProfile2D *  profile)
private

Definition at line 1050 of file EcalDisplaysByEvent.cc.

References mps_fire::i, createfilelist::int, and cuy::tex.

Referenced by drawCanvas().

1050  {
1051  int nxb = profile->GetNbinsX();
1052  int nyb = profile->GetNbinsY();
1053  char tempErr[200];
1054  for(int i=0;i!=nxb;++i) {
1055  for(int j=0;j!=nyb;++j) {
1056  int xb = i+1;
1057  int yb = j+1;
1058 // std::cout << "xb: " << xb << "\tyb: " << yb << std::endl;
1059  double xcorr = profile->GetBinCenter(xb);
1060  double ycorr = profile->GetBinCenter(yb);
1061  sprintf(tempErr,"%0.2f",profile->GetBinError(xb,yb));
1062  int nBin = profile->GetBin(xb,yb,0);
1063  int nBinEntries = (int) profile->GetBinEntries(nBin);
1064  if(nBinEntries != 0) {
1065  TLatex* tex = new TLatex(xcorr,ycorr,tempErr);
1066  tex->SetTextAlign(23);
1067  tex->SetTextSize(42);
1068  tex->SetTextSize(0.025);
1069  tex->SetLineWidth(2);
1070  tex->Draw();
1071  delete tex;
1072  }
1073  sprintf(tempErr,"%i",nBinEntries);
1074  if(nBinEntries!=0) {
1075  TLatex* tex = new TLatex(xcorr,ycorr,tempErr);
1076  tex->SetTextAlign(21);
1077  tex->SetTextFont(42);
1078  tex->SetTextSize(0.025);
1079  tex->SetLineWidth(2);
1080  tex->Draw();
1081  delete tex;
1082  }
1083  }
1084  }
1085 }
tex
Definition: cuy.py:772
void EcalDisplaysByEvent::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 596 of file EcalDisplaysByEvent.cc.

References canvasNames_, digiOccupancyCanvasAll_, digiOccupancyCoarseCanvasAll_, digiOccupancyEBAll_, digiOccupancyEBcoarseAll_, digiOccupancyEEMAll_, digiOccupancyEEMcoarseAll_, digiOccupancyEEPAll_, digiOccupancyEEPcoarseAll_, drawCanvas(), energyCanvasAll_, energyEBAll_, energyEEMAll_, energyEEPAll_, energyMapCanvasAll_, energyMapCoarseCanvasAll_, energyMapEBAll_, energyMapEBcoarseAll_, energyMapEEMAll_, energyMapEEMcoarseAll_, energyMapEEPAll_, energyMapEEPcoarseAll_, 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().

597 {
598  //All-event canvases
608 
609  if(runNum_ != -1) {
610  canvasNames_->Fill();
611  histoCanvasNames_->Fill();
612  }
613 
614  string frequencies = "";
615  for(std::map<std::string,int>::const_iterator itr = seedFrequencyMap_.begin();
616  itr != seedFrequencyMap_.end(); ++itr)
617  {
618  if(itr->second > 1)
619  {
620  frequencies+=itr->first;
621  frequencies+=" Frequency: ";
622  frequencies+=intToString(itr->second);
623  frequencies+="\n";
624  }
625  }
626  LogWarning("EcalDisplaysByEvent") << "Found seeds with frequency > 1: " << "\n\n" << frequencies;
627 
628  std::string channels;
629  for(std::vector<int>::const_iterator itr = maskedChannels_.begin();
630  itr != maskedChannels_.end(); ++itr)
631  {
632  channels+=intToString(*itr);
633  channels+=",";
634  }
635 
636  std::string feds;
637  for(std::vector<int>::const_iterator itr = maskedFEDs_.begin();
638  itr != maskedFEDs_.end(); ++itr)
639  {
640  feds+=intToString(*itr);
641  feds+=",";
642  }
643 
644  LogWarning("EcalDisplaysByEvent") << "Masked channels are: " << channels;
645  LogWarning("EcalDisplaysByEvent") << "Masked FEDs are: " << feds << " and that is all!";
646 }
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_
std::string EcalDisplaysByEvent::floatToString ( float  num)
private

Definition at line 656 of file EcalDisplaysByEvent.cc.

Referenced by selectDigi().

657 {
658  using namespace std;
659  ostringstream myStream;
660  myStream << num << flush;
661  return(myStream.str()); //returns the string form of the stringstream object
662 }
int EcalDisplaysByEvent::getEEIndex ( EcalElectronicsId  elecId)
private

Definition at line 388 of file EcalDisplaysByEvent.cc.

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

Referenced by selectDigi(), and selectHits().

389 {
390  int FEDid = 600+elecId.dccId();
391  return 10000*FEDid+100*elecId.towerId()+5*(elecId.stripId()-1)+elecId.xtalId();
392 }
int xtalId() const
get the channel id
int stripId() const
get the tower id
int towerId() const
get the tower id
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
TCanvas * EcalDisplaysByEvent::init2DEcalCanvas ( std::string  canvasName)
private

Definition at line 943 of file EcalDisplaysByEvent.cc.

References svgfig::canvas().

Referenced by initAllEventHistos(), and initEvtByEvtHists().

943  {
944  TCanvas* canvas = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(),300,60,500,200);
945  return canvas;
946 }
def canvas(sub, attr)
Definition: svgfig.py:481
TH2F * EcalDisplaysByEvent::init2DEcalHist ( std::string  histTypeName,
int  subDet 
)
private

Definition at line 898 of file EcalDisplaysByEvent.cc.

References EB_COARSE, EB_FINE, EEM_COARSE, EEM_FINE, EEP_COARSE, create_public_lumi_plots::hist, gedGsfElectrons_cfi::isBarrel, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

898  {
899  TH2F* hist;
900  bool isBarrel = (subDet == EB_FINE || subDet == EB_COARSE) ? true : false;
901  bool isCoarse = (subDet == EB_COARSE || subDet == EEM_COARSE || subDet == EEP_COARSE) ? true : false;
902  bool isEEM = (subDet == EEM_FINE || subDet == EEM_COARSE) ? true : false;
903  std::string histName = histTypeName;
904  std::string histTitle = histTypeName;
905  if(isBarrel) {
906  histName = histName + "EB";
907  histTitle = histTitle + " EB";
908  if(isCoarse) {
909  histName = histName + "Coarse";
910  histTitle = histTitle + " Coarse;iphi;ieta";
911  double ttEtaBins[36] = {-85, -80, -75, -70, -65, -60, -55, -50, -45, -40,
912  -35, -30, -25, -20, -15, -10, -5, 0, 1, 6, 11, 16,
913  21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86 };
914  hist = new TH2F(histName.c_str(),histTitle.c_str(),360/5,1,361.,35,ttEtaBins);
915  }
916  else {
917  histTitle = histTitle + ";iphi;ieta";
918  hist = new TH2F(histName.c_str(),histTitle.c_str(),360,1,361.,172,-86,86);
919  }
920  }
921  else {
922  if(isEEM) {
923  histName = histName + "EEM";
924  histTitle = histTitle + " EEM";
925  }
926  else {
927  histName = histName + "EEP";
928  histTitle = histTitle + " EEP";
929  }
930  if(isCoarse) {
931  histName = histName + "Coarse";
932  histTitle = histTitle + " Coarse;ix;iy";
933  hist = new TH2F(histName.c_str(),histTitle.c_str(),20,1,101,20,1,101);
934  }
935  else {
936  histTitle = histTitle + ";ix;iy";
937  hist = new TH2F(histName.c_str(),histTitle.c_str(),100,1,101,100,1,101);
938  }
939  }
940  return hist;
941 }
TH3F * EcalDisplaysByEvent::init3DEcalHist ( std::string  histTypeName,
int  dubDet 
)
private

Definition at line 831 of file EcalDisplaysByEvent.cc.

References EB_COARSE, EB_FINE, EEM_COARSE, EEM_FINE, EEP_COARSE, create_public_lumi_plots::hist, mps_fire::i, gedGsfElectrons_cfi::isBarrel, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

831  {
832  TH3F* hist;
833  bool isBarrel = (subDet == EB_FINE || subDet == EB_COARSE) ? true : false;
834  bool isCoarse = (subDet == EB_COARSE || subDet == EEM_COARSE || subDet == EEP_COARSE) ? true : false;
835  bool isEEM = (subDet == EEM_FINE || subDet == EEM_COARSE) ? true : false;
836  std::string histName = histTypeName;
837  std::string histTitle = histTypeName;
838  double ttEtaBins[36] = {-85, -80, -75, -70, -65, -60, -55, -50, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86 };
839  double modEtaBins[10]={-85, -65, -45, -25, 0, 1, 26, 46, 66, 86};
840  double ttPhiBins[73];
841  double modPhiBins[19];
842  double timingBins[79];
843  for (int i = 0; i < 79; ++i)
844  {
845  timingBins[i]= 6 - 7. + double(i) * 14. / 78.;
846  if (i<73)
847  {
848  ttPhiBins[i]=1+5*i;
849  if ( i < 19)
850  {
851  modPhiBins[i]=1+20*i;
852  }
853  }
854 
855  }
856 
857  if(isBarrel) {
858  histName = histName + "EB";
859  histTitle = histTitle + " EB";
860  if(isCoarse) {
861  histName = histName + "Coarse";
862  histTitle = histTitle + " by Module Nominal value = 6;iphi;ieta ";
863  hist = new TH3F(histName.c_str(),histTitle.c_str(),18,modPhiBins,9,modEtaBins,78,timingBins);
864  }
865  else {
866  histTitle = histTitle + " by TT Nominal value = 6;iphi;ieta";
867  hist = new TH3F(histName.c_str(),histTitle.c_str(),360/5,ttPhiBins,35,ttEtaBins,78,timingBins);
868  }
869  }
870  else {
871  double ttXBins[21];
872  double ttYBins[21];
873  for(int i=0;i!=21;++i) {
874  ttXBins[i] = 1 + 5*i;
875  ttYBins[i] = 1 + 5*i;
876  }
877  if(isEEM) {
878  histName = histName + "EEM";
879  histTitle = histTitle + " EEM";
880  }
881  else {
882  histName = histName + "EEP";
883  histTitle = histTitle + " EEP";
884  }
885  if(isCoarse) {
886  histName = histName + "Coarse";
887  histTitle = histTitle + " by Module Nominal value = 6;ix;iy";
888  hist = new TH3F(histName.c_str(),histTitle.c_str(),20,ttXBins,20,ttYBins,78,timingBins);
889  }
890  else {
891  histTitle = histTitle + " by TT Nominal value = 6;ix;iy";
892  hist = new TH3F(histName.c_str(),histTitle.c_str(),20,ttXBins,20,ttYBins,78,timingBins);
893  }
894  }
895  return hist;
896 }
void EcalDisplaysByEvent::initAllEventHistos ( )
private

Definition at line 778 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().

779 {
780  string canvasTitle = "Timing_AllEvents";
781  timingEBAll_ = new TH1F("timeForAllFedsEBAll","timeForAllFeds;Relative Time (1 clock = 25ns)",78,-7,7);
782  timingEEMAll_ = new TH1F("timeForAllFedsEEMAll","timeForAllFeds_EEM;Relative Time (1 clock = 25ns)",78,-7,7);
783  timingEEPAll_ = new TH1F("timeForAllFedsEEPAll","timeForAllFeds_EEP;Relative Time (1 clock = 25ns)",78,-7,7);
784  timingCanvasAll_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(),300,60,500,200);
785  timingMapEBAll_ = init3DEcalHist("TimingMapA", EB_FINE);
786  timingMapEEMAll_ = init3DEcalHist("TimingMapA", EEM_FINE);
787  timingMapEEPAll_ = init3DEcalHist("TimingMapA", EEP_FINE);
788  timingMapCanvasAll_ = init2DEcalCanvas("TimingMap_AllEvents");
792  //timingMapCoarseCanvasAll_ = init2DEcalCanvas("TimingMapCoarse_AllEvents");
793  energyEBAll_ = new TH1F("energyEBAllEvents","Energy for EB Feds (GeV)",200,histRangeMin_,histRangeMax_);
794  energyEEMAll_ = new TH1F("energyEEMAllEvents","Energy for EEM Feds (GeV)",200,histRangeMin_,10.0);
795  energyEEPAll_ = new TH1F("energyEEPAllEvents","Energy for EEP Feds (GeV)",200,histRangeMin_,10.0);
796  canvasTitle = "Energy_AllEvents";
797  energyCanvasAll_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(),300,60,500,200);
798 
799  // Energy map hists
800  energyMapEBAll_ = init2DEcalHist("EnergyMapA",EB_FINE);
803  energyMapEEMAll_ = init2DEcalHist("EnergyMapA",EEM_FINE);
805  energyMapEEPAll_ = init2DEcalHist("EnergyMapA",EEP_FINE);
806  energyMapCanvasAll_ = init2DEcalCanvas("EnergyMap_AllEvents");
807  energyMapCoarseCanvasAll_ = init2DEcalCanvas("EnergyMapCoarse_AllEvents");
808  // RecHit Occupancy
809  recHitOccupancyEBAll_ = init2DEcalHist("RecHitOccupancyA",EB_FINE);
812  recHitOccupancyEEMAll_ = init2DEcalHist("RecHitOccupancyA",EEM_FINE);
814  recHitOccupancyEEPAll_ = init2DEcalHist("RecHitOccupancyA",EEP_FINE);
815  recHitOccupancyCanvasAll_ = init2DEcalCanvas("RecHitOccupancy_AllEvents");
816  recHitOccupancyCoarseCanvasAll_ =init2DEcalCanvas("RecHitOccupancyCoarse_AllEvents");
817 
818  //DigiOccupancy
819  digiOccupancyEBAll_ = init2DEcalHist("DigiOccupancyA",EB_FINE);
822  digiOccupancyEEMAll_ = init2DEcalHist("DigiOccupancyA",EEM_FINE);
824  digiOccupancyEEPAll_ = init2DEcalHist("DigiOccupancyA",EEP_FINE);
825  digiOccupancyCanvasAll_ = init2DEcalCanvas("DigiOccupancy_AllEvents");
826  digiOccupancyCoarseCanvasAll_ = init2DEcalCanvas("DigiOccupancyCoarse_AllEvents");
827 
828 }
TH2F * init2DEcalHist(std::string histTypeName, int subDet)
TCanvas * digiOccupancyCoarseCanvasAll_
TCanvas * recHitOccupancyCoarseCanvasAll_
TH3F * init3DEcalHist(std::string histTypeName, int dubDet)
TCanvas * init2DEcalCanvas(std::string canvasName)
void EcalDisplaysByEvent::initEvtByEvtHists ( int  naiveEvtNum_,
int  ievt 
)
private

Definition at line 677 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_, recHitOccupancyCanvas_, recHitOccupancyCoarseCanvas_, recHitOccupancyEB_, recHitOccupancyEBcoarse_, recHitOccupancyEEM_, recHitOccupancyEEMcoarse_, recHitOccupancyEEP_, recHitOccupancyEEPcoarse_, timingCanvas_, timingEB_, timingEEM_, timingEEP_, timingMapCanvas_, timingMapEB_, timingMapEEM_, timingMapEEMCoarse_, timingMapEEP_, and timingMapEEPCoarse_.

Referenced by analyze().

678 {
679  string lastPart = intToString(naiveEvtNum_)+"_LV1a"+intToString(ievt);
681  {
682  string canvasTitle = "Timing_Event"+lastPart;
683  timingEB_ = new TH1F("timeForAllFedsEB","timeForAllFeds;Relative Time (1 clock = 25ns)",78,-7,7);
684  timingEEM_ = new TH1F("timeForAllFedsEEM","timeForAllFeds_EEM;Relative Time (1 clock = 25ns)",78,-7,7);
685  timingEEP_ = new TH1F("timeForAllFedsEEP","timeForAllFeds_EEP;Relative Time (1 clock = 25ns)",78,-7,7);
686  timingCanvas_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(),300,60,500,200);
687  timingMapEB_ = init3DEcalHist("TimingMap", EB_FINE);
688  timingMapEEM_ = init3DEcalHist("TimingMap", EEM_FINE);
689  timingMapEEP_ = init3DEcalHist("TimingMap", EEP_FINE);
690  timingMapCanvas_ = init2DEcalCanvas("TimingMap_Event"+lastPart);
691  //timingMapEBCoarse_ = init3DEcalHist("TimingMap", EB_COARSE);
694  //timingMapCoarseCanvas_ = init2DEcalCanvas("TimingMapCoarse_Event"+lastPart);
695  }
697  {
698  energyEB_ = new TH1F("energyEB","Energy for EB Feds (GeV)",200,histRangeMin_,histRangeMax_);
699  energyEEM_ = new TH1F("energyEEM","Energy for EEM Feds (GeV)",200,histRangeMin_,10.0);
700  energyEEP_ = new TH1F("energyEEP","Energy for EEP Feds (GeV)",200,histRangeMin_,10.0);
701  string canvasTitle = "Energy_Event"+lastPart;
702  energyCanvas_ = new TCanvas(canvasTitle.c_str(), canvasTitle.c_str(),300,60,500,200);
703 
704  // Energy map hists
705  energyMapEB_ = init2DEcalHist("EnergyMap",EB_FINE);
708  energyMapEEM_ = init2DEcalHist("EnergyMap",EEM_FINE);
710  energyMapEEP_ = init2DEcalHist("EnergyMap",EEP_FINE);
711  energyMapCanvas_ = init2DEcalCanvas("EnergyMap_Event"+lastPart);
712  energyMapCoarseCanvas_ = init2DEcalCanvas("EnergyMapCoarse_Event"+lastPart);
713  }
715  {
716  // RecHit Occupancy
717  recHitOccupancyEB_ = init2DEcalHist("RecHitOccupancy",EB_FINE);
720  recHitOccupancyEEM_ = init2DEcalHist("RecHitOccupancy",EEM_FINE);
722  recHitOccupancyEEP_ = init2DEcalHist("RecHitOccupancy",EEP_FINE);
723  recHitOccupancyCanvas_ = init2DEcalCanvas("RecHitOccupancy_Event"+lastPart);
724  recHitOccupancyCoarseCanvas_ =init2DEcalCanvas("RecHitOccupancyCoarse_Event"+lastPart);
725 
726  //DigiOccupancy
727  digiOccupancyEB_ = init2DEcalHist("DigiOccupancy",EB_FINE);
728  digiOccupancyEBcoarse_ = init2DEcalHist("DigiOccupancy", EB_COARSE);
730  digiOccupancyEEM_ = init2DEcalHist("DigiOccupancy",EEM_FINE);
732  digiOccupancyEEP_ = init2DEcalHist("DigiOccupancy",EEP_FINE);
733  digiOccupancyCanvas_ = init2DEcalCanvas("DigiOccupancy_Event"+lastPart);
734  digiOccupancyCoarseCanvas_ = init2DEcalCanvas("DigiOccupancyCoarse_Event"+lastPart);
735  }
736 }
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_
void EcalDisplaysByEvent::initHists ( int  FED)
private

Definition at line 665 of file EcalDisplaysByEvent.cc.

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

Referenced by makeHistos().

666 {
667  using namespace std;
668 
669  string title1 = "Jitter for ";
670  title1.append(fedMap_->getSliceFromFed(FED));
671  string name1 = "JitterFED";
672  name1.append(intToString(FED));
673  TH1F* timingHist = fileService->make<TH1F>(name1.c_str(),title1.c_str(),150,-7,7);
674  FEDsAndTimingHists_[FED] = timingHist;
675 }
std::map< int, TH1F * > FEDsAndTimingHists_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::string getSliceFromFed(int)
Definition: EcalFedMap.cc:93
static edm::Service< TFileService > fileService
std::string intToString(int num)
std::string EcalDisplaysByEvent::intToString ( int  num)
private

Definition at line 648 of file EcalDisplaysByEvent.cc.

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

649 {
650  using namespace std;
651  ostringstream myStream;
652  myStream << num << flush;
653  return(myStream.str()); //returns the string form of the stringstream object
654 }
void EcalDisplaysByEvent::makeHistos ( edm::Handle< EBDigiCollection ebDigis)
private

Definition at line 394 of file EcalDisplaysByEvent.cc.

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

Referenced by analyze().

394  {
395  const EBDigiCollection* ebDigis = ebDigiHandle.product();
396  for(EBDigiCollection::const_iterator digiItr = ebDigis->begin(); digiItr != ebDigis->end(); ++digiItr) {
397  EBDetId digiId = digiItr->id();
398  int ieta = digiId.ieta();
399  int iphi = digiId.iphi();
400  digiOccupancyEBAll_->Fill(iphi,ieta);
401  digiOccupancyEBcoarseAll_->Fill(iphi,ieta);
403  {
404  digiOccupancyEB_->Fill(iphi,ieta);
405  digiOccupancyEBcoarse_->Fill(iphi,ieta);
406  }
407  }
408 }
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
const_iterator begin() const
int iphi() const
get the crystal iphi
Definition: EBDetId.h:53
int ieta() const
get the crystal ieta
Definition: EBDetId.h:51
T const * product() const
Definition: Handle.h:81
const_iterator end() const
void EcalDisplaysByEvent::makeHistos ( edm::Handle< EEDigiCollection eeDigis)
private

Definition at line 410 of file EcalDisplaysByEvent.cc.

References edm::DataFrameContainer::begin(), EcalElectronicsId::dccId(), digiOccupancyEEM_, digiOccupancyEEMAll_, digiOccupancyEEMcoarse_, digiOccupancyEEMcoarseAll_, digiOccupancyEEP_, digiOccupancyEEPAll_, digiOccupancyEEPcoarse_, digiOccupancyEEPcoarseAll_, ecalElectronicsMap_, edm::DataFrameContainer::end(), EcalElectronicsMapping::getElectronicsId(), EEDetId::ix(), EEDetId::iy(), makeOccupancyHistos_, and edm::Handle< T >::product().

410  {
411  const EEDigiCollection* eeDigis = eeDigiHandle.product();
412  for(EEDigiCollection::const_iterator digiItr = eeDigis->begin(); digiItr != eeDigis->end(); ++digiItr) {
413  DetId det = digiItr->id();
415  size_t FEDid = 600+elecId.dccId();
416  bool isEEM = false;
417  if(FEDid < 610)
418  isEEM = true;
419  EEDetId digiId = digiItr->id();
420  int ieta = digiId.iy();
421  int iphi = digiId.ix();
422  if(isEEM)
423  {
424  digiOccupancyEEMAll_->Fill(iphi,ieta);
425  digiOccupancyEEMcoarseAll_->Fill(iphi,ieta);
427  {
428  digiOccupancyEEMcoarse_->Fill(iphi,ieta);
429  digiOccupancyEEM_->Fill(iphi,ieta);
430  }
431  }
432  else
433  {
434  digiOccupancyEEPAll_->Fill(iphi,ieta);
435  digiOccupancyEEPcoarseAll_->Fill(iphi,ieta);
437  {
438  digiOccupancyEEP_->Fill(iphi,ieta);
439  digiOccupancyEEPcoarse_->Fill(iphi,ieta);
440  }
441  }
442  }
443 }
int ix() const
Definition: EEDetId.h:76
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const EcalElectronicsMapping * ecalElectronicsMap_
const_iterator begin() const
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
int iy() const
Definition: EEDetId.h:82
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
Definition: DetId.h:18
T const * product() const
Definition: Handle.h:81
const_iterator end() const
void EcalDisplaysByEvent::makeHistos ( edm::Handle< EcalRecHitCollection hits)
private

Definition at line 445 of file EcalDisplaysByEvent.cc.

References allFedsTimingHist_, edm::SortedCollection< T, SORT >::begin(), EcalElectronicsId::dccId(), ecalElectronicsMap_, edm::SortedCollection< T, SORT >::end(), EcalRecHit::energy(), energyEB_, energyEBAll_, energyEEM_, energyEEMAll_, energyEEP_, energyEEPAll_, energyMapEB_, energyMapEBAll_, energyMapEBcoarse_, energyMapEBcoarseAll_, energyMapEEM_, energyMapEEMAll_, energyMapEEMcoarse_, energyMapEEMcoarseAll_, energyMapEEP_, energyMapEEPAll_, energyMapEEPcoarse_, energyMapEEPcoarseAll_, FEDsAndTimingHists_, EcalElectronicsMapping::getElectronicsId(), EcalRecHit::id(), initHists(), gedGsfElectrons_cfi::isBarrel, makeEnergyHistos_, makeOccupancyHistos_, makeTimingHistos_, minTimingAmp_, minTimingEnergyEB_, minTimingEnergyEE_, recHitOccupancyEB_, recHitOccupancyEBAll_, recHitOccupancyEBcoarse_, recHitOccupancyEBcoarseAll_, recHitOccupancyEEM_, recHitOccupancyEEMAll_, recHitOccupancyEEMcoarse_, recHitOccupancyEEMcoarseAll_, recHitOccupancyEEP_, recHitOccupancyEEPAll_, recHitOccupancyEEPcoarse_, recHitOccupancyEEPcoarseAll_, EcalRecHit::time(), ntuplemaker::time, timingEB_, timingEBAll_, timingEEM_, timingEEMAll_, timingEEP_, timingEEPAll_, timingMapEB_, timingMapEBAll_, timingMapEBCoarseAll_, timingMapEEM_, timingMapEEMAll_, timingMapEEMCoarseAll_, timingMapEEP_, timingMapEEPAll_, and timingMapEEPCoarseAll_.

446 {
447  for (EcalRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr)
448  {
449  EcalRecHit hit = (*hitItr);
450  DetId det = hit.id();
452  int FEDid = 600+elecId.dccId();
453  bool isBarrel = true;
454  bool isEEM = false;
455  if(FEDid < 610 || FEDid > 645)
456  {
457  isBarrel = false;
458  if(FEDid < 610)
459  isEEM = true;
460  }
461  int iphi = isBarrel ? ((EBDetId)det).iphi() : ((EEDetId)det).ix();
462  int ieta = isBarrel ? ((EBDetId)det).ieta() : ((EEDetId)det).iy();
463  float energy = hit.energy();
464  float time = hit.time();
465 
466  // Fill energy histos
468  {
469  if(isBarrel)
470  {
471  energyEB_->Fill(energy);
472  energyMapEB_->Fill(iphi,ieta,energy);
473  energyMapEBcoarse_->Fill(iphi,ieta,energy);
474  }
475  else if(isEEM)
476  {
477  energyEEM_->Fill(energy);
478  energyMapEEM_->Fill(iphi,ieta,energy);
479  energyMapEEMcoarse_->Fill(iphi,ieta,energy);
480  }
481  else
482  {
483  energyEEP_->Fill(energy);
484  energyMapEEP_->Fill(iphi,ieta,energy);
485  energyMapEEPcoarse_->Fill(iphi,ieta,energy);
486  }
487  }
488  // Fill occupancy histos
490  {
491  if(isBarrel)
492  {
493  recHitOccupancyEB_->Fill(iphi,ieta);
494  recHitOccupancyEBcoarse_->Fill(iphi,ieta);
495  }
496  else if(isEEM)
497  {
498  recHitOccupancyEEM_->Fill(iphi,ieta);
499  recHitOccupancyEEMcoarse_->Fill(iphi,ieta);
500  }
501  else
502  {
503  recHitOccupancyEEP_->Fill(iphi,ieta);
504  recHitOccupancyEEPcoarse_->Fill(iphi,ieta);
505  }
506  }
507 
508  // Fill timing histos
510  {
511  if(isBarrel) {
512  timingEB_->Fill(time);
513  if(energy > minTimingEnergyEB_) {
514  timingMapEB_->Fill(iphi,ieta,time);
515  //timingMapEBCoarse_->Fill(iphi,ieta,time);
516  }
517  }
518  else if(isEEM) {
519  timingEEM_->Fill(time);
520  if(energy > minTimingEnergyEE_)
521  {
522  timingMapEEM_->Fill(iphi,ieta,time);
523  //timingMapEEMCoarse_->Fill(iphi,ieta,time);
524  }
525  }
526  else {
527  timingEEP_->Fill(time);
528  if(energy > minTimingEnergyEE_)
529  {
530  timingMapEEP_->Fill(iphi,ieta,time);
531  //timingMapEEPCoarse_->Fill(iphi,ieta,time);
532  }
533  }
534  }
535 
536  //All events
537  if(isBarrel)
538  {
539  energyEBAll_->Fill(energy);
540  energyMapEBAll_->Fill(iphi,ieta,energy);
541  energyMapEBcoarseAll_->Fill(iphi,ieta,energy);
542  recHitOccupancyEBAll_->Fill(iphi,ieta);
543  recHitOccupancyEBcoarseAll_->Fill(iphi,ieta);
544  timingEBAll_->Fill(time);
545  if(energy > minTimingEnergyEB_)
546  {
547  timingMapEBAll_->Fill(iphi,ieta,time);
548  timingMapEBCoarseAll_->Fill(iphi,ieta,time);
549  }
550  }
551  else if(isEEM)
552  {
553  energyEEMAll_->Fill(energy);
554  energyMapEEMAll_->Fill(iphi,ieta,energy);
555  energyMapEEMcoarseAll_->Fill(iphi,ieta,energy);
556  recHitOccupancyEEMAll_->Fill(iphi,ieta);
557  recHitOccupancyEEMcoarseAll_->Fill(iphi,ieta);
558  timingEEMAll_->Fill(time);
559  if(energy > minTimingEnergyEE_)
560  {
561  timingMapEEMAll_->Fill(iphi,ieta,time);
562  timingMapEEMCoarseAll_->Fill(iphi,ieta,time);
563  }
564  }
565  else
566  {
567  energyEEPAll_->Fill(energy);
568  energyMapEEPAll_->Fill(iphi,ieta,energy);
569  energyMapEEPcoarseAll_->Fill(iphi,ieta,energy);
570  recHitOccupancyEEPAll_->Fill(iphi,ieta);
571  recHitOccupancyEEPcoarseAll_->Fill(iphi,ieta);
572  timingEEPAll_->Fill(time);
573  if(energy > minTimingEnergyEE_)
574  {
575  timingMapEEPAll_->Fill(iphi,ieta,time);
576  timingMapEEPCoarseAll_->Fill(iphi,ieta,time);
577  }
578  }
579  // Fill FED-by-FED timing histos (all events)
580  TH1F* timingHist = FEDsAndTimingHists_[FEDid];
581  if(timingHist==0)
582  {
583  initHists(FEDid);
584  timingHist = FEDsAndTimingHists_[FEDid];
585  }
586  if(energy > minTimingAmp_)
587  {
588  timingHist->Fill(hit.time());
589  allFedsTimingHist_->Fill(hit.time());
590  }
591  }
592 }
std::map< int, TH1F * > FEDsAndTimingHists_
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
const EcalElectronicsMapping * ecalElectronicsMap_
std::vector< EcalRecHit >::const_iterator const_iterator
float time() const
Definition: EcalRecHit.h:70
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
float energy() const
Definition: EcalRecHit.h:68
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
const_iterator end() const
Definition: DetId.h:18
DetId id() const
get the id
Definition: EcalRecHit.h:77
const_iterator begin() const
TGraph * EcalDisplaysByEvent::selectDigi ( DetId  det,
int  ievt 
)
private

Definition at line 280 of file EcalDisplaysByEvent.cc.

References abscissa, EcalMGPASample::adc(), edm::DataFrameContainer::begin(), crysAndAmplitudesMap_, EcalElectronicsId::dccId(), DetId::det(), EBdigisHandle, DetId::Ecal, ecalElectronicsMap_, EEdigisHandle, edm::DataFrameContainer::end(), fedMap_, FEDsAndDCCHeaders_, fileService, objects.autophobj::float, floatToString(), ecalMGPA::gainId(), EcalMGPASample::gainId(), gainRatio, getEEIndex(), EcalElectronicsMapping::getElectronicsId(), EcalFedMap::getSliceFromFed(), mps_fire::i, intToString(), gedGsfElectrons_cfi::isBarrel, TFileService::make(), naiveEvtNum_, dataset::name, ordinate, muonCSCDigis_cfi::pedestal, EcalDataFrame::sample(), EcalDataFrame::size(), and fftjetcommon_cfi::title.

Referenced by selectHits().

281 {
282  int emptyY[10];
283  for (int i=0; i<10; i++)
284  emptyY[i] = 0;
285  TGraph* emptyGraph = fileService->make<TGraph>(10, abscissa, emptyY);
286  emptyGraph->SetTitle("NOT ECAL");
287 
288  //If the DetId is not from Ecal, return
289  if(thisDet.det() != DetId::Ecal)
290  return emptyGraph;
291 
292  emptyGraph->SetTitle("NO DIGIS");
293  //find digi we need -- can't get find() to work; need DataFrame(DetId det) to work?
295  int FEDid = 600+elecId.dccId();
296  bool isBarrel = true;
297  if(FEDid < 610 || FEDid > 645)
298  isBarrel = false;
299  int cryIndex = isBarrel ? ((EBDetId)thisDet).hashedIndex() : getEEIndex(elecId);
300  int ic = isBarrel ? ((EBDetId)thisDet).ic() : cryIndex;
301 
302  string sliceName = fedMap_->getSliceFromFed(FEDid);
303  EcalDataFrame df;
304  if(isBarrel)
305  {
307  while(digiItr != EBdigisHandle->end() && ((*digiItr).id() != (EBDetId)thisDet))
308  {
309  ++digiItr;
310  }
311  if(digiItr==EBdigisHandle->end())
312  {
313  //LogWarning("EcalDisplaysByEvent") << "Cannot find digi for ic:" << ic
314  // << " FED:" << FEDid << " evt:" << naiveEvtNum_;
315  return emptyGraph;
316  }
317  else
318  df = *digiItr;
319  }
320  else
321  {
323  while(digiItr != EEdigisHandle->end() && ((*digiItr).id() != (EEDetId)thisDet))
324  {
325  ++digiItr;
326  }
327  if(digiItr==EEdigisHandle->end())
328  {
329  //LogWarning("EcalDisplaysByEvent") << "Cannot find digi for ic:" << ic
330  // << " FED:" << FEDid << " evt:" << naiveEvtNum_;
331  return emptyGraph;
332  }
333  else df = *digiItr;
334  }
335 
336  int gainId = FEDsAndDCCHeaders_[FEDid].getMgpaGain();
337  int gainHuman;
338  if (gainId ==1) gainHuman =12;
339  else if (gainId ==2) gainHuman =6;
340  else if (gainId ==3) gainHuman =1;
341  else gainHuman =-1;
342 
343  double pedestal = 200;
344 
345  emptyGraph->SetTitle("FIRST TWO SAMPLES NOT GAIN12");
346  if(df.sample(0).gainId()!=1 || df.sample(1).gainId()!=1) return emptyGraph; //goes to the next digi
347  else {
348  ordinate[0] = df.sample(0).adc();
349  ordinate[1] = df.sample(1).adc();
350  pedestal = (double)(ordinate[0]+ordinate[1])/(double)2;
351  }
352 
353 
354  for (int i=0; i < df.size(); ++i ) {
355  if (df.sample(i).gainId() != 0)
356  ordinate[i] = (int)(pedestal+(df.sample(i).adc()-pedestal)*gainRatio[df.sample(i).gainId()-1]);
357  else
358  ordinate[i] = 49152; //Saturation of gain1
359  }
360 
361  TGraph* oneGraph = fileService->make<TGraph>(10, abscissa, ordinate);
362  string name = "Graph_ev" + intToString(naiveEvtNum_) + "_ic" + intToString(ic)
363  + "_FED" + intToString(FEDid);
364  string gainString = (gainId==1) ? "Free" : intToString(gainHuman);
365  string title = "Event" + intToString(naiveEvtNum_) + "_lv1a" + intToString(ievt) +
366  "_ic" + intToString(ic) + "_" + sliceName + "_gain" + gainString;
367 
368  float energy = 0;
369  map<int,float>::const_iterator itr;
370  itr = crysAndAmplitudesMap_.find(cryIndex);
371  if(itr!=crysAndAmplitudesMap_.end())
372  {
373  //edm::LogWarning("EcalDisplaysByEvent")<< "itr->second(ampli)="<< itr->second;
374  energy = (float) itr->second;
375  }
376  //else
377  //edm::LogWarning("EcalDisplaysByEvent") << "cry " << ic << "not found in ampMap";
378 
379  title+="_Energy"+floatToString(round(energy*1000));
380 
381  oneGraph->SetTitle(title.c_str());
382  oneGraph->SetName(name.c_str());
383  oneGraph->GetXaxis()->SetTitle("sample");
384  oneGraph->GetYaxis()->SetTitle("ADC");
385  return oneGraph;
386 }
edm::Handle< EEDigiCollection > EEdigisHandle
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
int gainId(sample_type sample)
get the gainId (2 bits)
std::map< int, float > crysAndAmplitudesMap_
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)
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:29
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
const_iterator begin() const
int gainId() const
get the gainId (2 bits)
int size() const
Definition: EcalDataFrame.h:26
std::string getSliceFromFed(int)
Definition: EcalFedMap.cc:93
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
std::map< int, EcalDCCHeaderBlock > FEDsAndDCCHeaders_
static edm::Service< TFileService > fileService
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
std::string intToString(int num)
static float gainRatio[3]
edm::Handle< EBDigiCollection > EBdigisHandle
const_iterator end() const
std::string floatToString(float num)
int adc() const
get the ADC sample (12 bits)
void EcalDisplaysByEvent::selectHits ( edm::Handle< EcalRecHitCollection hits,
int  ievt,
edm::ESHandle< CaloTopology caloTopo 
)
private

Definition at line 204 of file EcalDisplaysByEvent.cc.

References edm::SortedCollection< T, SORT >::begin(), crysAndAmplitudesMap_, EcalElectronicsId::dccId(), ecalElectronicsMap_, edm::SortedCollection< T, SORT >::end(), EcalRecHit::energy(), spr::find(), getEEIndex(), EcalElectronicsMapping::getElectronicsId(), CaloTopology::getSubdetectorTopology(), CaloNavigator< T, TOPO >::home(), mps_fire::i, EcalRecHit::id(), intToString(), gedGsfElectrons_cfi::isBarrel, maskedChannels_, maskedFEDs_, naiveEvtNum_, dataset::name, names, CaloNavigator< T, TOPO >::offsetBy(), mps_fire::result, SurveyInfoScenario_cff::seed, seedCrys_, seedFrequencyMap_, selectDigi(), side_, threshold_, and fftjetcommon_cfi::title.

Referenced by analyze().

206 {
207  for (EcalRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr)
208  {
209  EcalRecHit hit = (*hitItr);
210  DetId det = hit.id();
212  int FEDid = 600+elecId.dccId();
213  bool isBarrel = true;
214  if(FEDid < 610 || FEDid > 645)
215  isBarrel = false;
216  int cryIndex = isBarrel ? ((EBDetId)det).hashedIndex() : getEEIndex(elecId);
217  int ic = isBarrel ? ((EBDetId)det).ic() : getEEIndex(elecId);
218 
219  float ampli = hit.energy();
220 
221  vector<int>::iterator result;
222  result = find(maskedFEDs_.begin(), maskedFEDs_.end(), FEDid);
223  if(result != maskedFEDs_.end())
224  {
225  //LogWarning("EcalDisplaysByEvent") << "skipping uncalRecHit for FED " << FEDid << " ; amplitude " << ampli;
226  continue;
227  }
228  result = find(maskedChannels_.begin(), maskedChannels_.end(), cryIndex);
229  if (result != maskedChannels_.end())
230  {
231  //LogWarning("EcalDisplaysByEvent") << "skipping uncalRecHit for channel: " << cryIndex << " in fed: " << FEDid << " with amplitude " << ampli ;
232  continue;
233  }
234  bool cryIsInList = false;
235  result = find(seedCrys_.begin(), seedCrys_.end(), cryIndex);
236  if (result != seedCrys_.end())
237  cryIsInList = true;
238 
239  // Either we must have a user-requested cry (in which case there is no amplitude selection)
240  // Or we pick all crys that pass the amplitude cut (in which case there is no fixed crystal selection)
241  if(cryIsInList || (seedCrys_.empty() && ampli > threshold_))
242  {
243  // We have a winner!
244  crysAndAmplitudesMap_[cryIndex] = ampli;
245  string name = "Digis_Event" + intToString(naiveEvtNum_) + "_ic" + intToString(ic)
246  + "_FED" + intToString(FEDid);
247  string title = "Digis";
248  string seed = "ic" + intToString(ic) + "_FED" + intToString(FEDid);
249  int freq=1;
250  pair<map<string,int>::iterator,bool> pair = seedFrequencyMap_.insert(make_pair(seed,freq));
251  if(!pair.second)
252  {
253  ++(pair.first->second);
254  }
255 
256  //TODO: move this also to TFileService
257  TCanvas can(name.c_str(),title.c_str(),200,50,900,900);
258  can.Divide(side_,side_);
259  TGraph* myGraph;
260 
262  //Now put each graph in one by one
263  for(int j=side_/2; j>=-side_/2; --j)
264  {
265  for(int i=-side_/2; i<=side_/2; ++i)
266  {
267  cursor.home();
268  cursor.offsetBy(i,j);
269  can.cd(i+1+side_/2+side_*(1-j));
270  myGraph = selectDigi(*cursor,ievt);
271  myGraph->Draw("A*");
272  }
273  }
274  can.Write();
275  names->push_back(name);
276  }
277  }
278 }
std::vector< int > maskedChannels_
std::map< int, float > crysAndAmplitudesMap_
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)
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:20
EcalElectronicsId getElectronicsId(const DetId &id) const
Get the electronics id for this det id.
T offsetBy(int deltaX, int deltaY) const
Free movement of arbitray steps.
Definition: CaloNavigator.h:80
std::vector< int > maskedFEDs_
float energy() const
Definition: EcalRecHit.h:68
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
const_iterator end() const
std::string intToString(int num)
void home() const
move the navigator back to the starting point
Definition: DetId.h:18
std::map< std::string, int > seedFrequencyMap_
DetId id() const
get the id
Definition: EcalRecHit.h:77
const CaloSubdetectorTopology * getSubdetectorTopology(const DetId &id) const
access the subdetector Topology for the given subdetector directly
Definition: CaloTopology.cc:26
std::vector< int > seedCrys_
TGraph * selectDigi(DetId det, int ievt)
const_iterator begin() const

Member Data Documentation

int EcalDisplaysByEvent::abscissa[10]
private

Definition at line 132 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), and selectDigi().

TH1F* EcalDisplaysByEvent::allFedsTimingHist_
private

Definition at line 149 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), and makeHistos().

TTree* EcalDisplaysByEvent::canvasNames_
private

Definition at line 234 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and endJob().

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

Definition at line 145 of file EcalDisplaysByEvent.h.

Referenced by selectDigi(), and selectHits().

TCanvas* EcalDisplaysByEvent::digiOccupancyCanvas_
private

Definition at line 187 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::digiOccupancyCanvasAll_
private

Definition at line 229 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TCanvas* EcalDisplaysByEvent::digiOccupancyCoarseCanvas_
private

Definition at line 188 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::digiOccupancyCoarseCanvasAll_
private

Definition at line 230 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TH2F* EcalDisplaysByEvent::digiOccupancyEB_
private
TH2F* EcalDisplaysByEvent::digiOccupancyEBAll_
private

Definition at line 211 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::digiOccupancyEBcoarse_
private
TH2F* EcalDisplaysByEvent::digiOccupancyEBcoarseAll_
private

Definition at line 212 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::digiOccupancyEEM_
private
TH2F* EcalDisplaysByEvent::digiOccupancyEEMAll_
private

Definition at line 213 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::digiOccupancyEEMcoarse_
private
TH2F* EcalDisplaysByEvent::digiOccupancyEEMcoarseAll_
private

Definition at line 214 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::digiOccupancyEEP_
private
TH2F* EcalDisplaysByEvent::digiOccupancyEEPAll_
private

Definition at line 215 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::digiOccupancyEEPcoarse_
private
TH2F* EcalDisplaysByEvent::digiOccupancyEEPcoarseAll_
private

Definition at line 216 of file EcalDisplaysByEvent.h.

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

edm::InputTag EcalDisplaysByEvent::EBDigis_
private

Definition at line 109 of file EcalDisplaysByEvent.h.

Referenced by analyze().

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

Definition at line 113 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectDigi().

edm::InputTag EcalDisplaysByEvent::EBRecHitCollection_
private

Definition at line 107 of file EcalDisplaysByEvent.h.

Referenced by analyze().

const EcalElectronicsMapping* EcalDisplaysByEvent::ecalElectronicsMap_
private

Definition at line 237 of file EcalDisplaysByEvent.h.

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

edm::InputTag EcalDisplaysByEvent::EEDigis_
private

Definition at line 110 of file EcalDisplaysByEvent.h.

Referenced by analyze().

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

Definition at line 114 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectDigi().

edm::InputTag EcalDisplaysByEvent::EERecHitCollection_
private

Definition at line 108 of file EcalDisplaysByEvent.h.

Referenced by analyze().

TCanvas* EcalDisplaysByEvent::energyCanvas_
private

Definition at line 182 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::energyCanvasAll_
private

Definition at line 224 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TH1F* EcalDisplaysByEvent::energyEB_
private
TH1F* EcalDisplaysByEvent::energyEBAll_
private

Definition at line 196 of file EcalDisplaysByEvent.h.

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

TH1F* EcalDisplaysByEvent::energyEEM_
private
TH1F* EcalDisplaysByEvent::energyEEMAll_
private

Definition at line 197 of file EcalDisplaysByEvent.h.

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

TH1F* EcalDisplaysByEvent::energyEEP_
private
TH1F* EcalDisplaysByEvent::energyEEPAll_
private

Definition at line 198 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::energyMapCanvas_
private

Definition at line 183 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::energyMapCanvasAll_
private

Definition at line 225 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TCanvas* EcalDisplaysByEvent::energyMapCoarseCanvas_
private

Definition at line 184 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::energyMapCoarseCanvasAll_
private

Definition at line 226 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TH2F* EcalDisplaysByEvent::energyMapEB_
private
TH2F* EcalDisplaysByEvent::energyMapEBAll_
private

Definition at line 199 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::energyMapEBcoarse_
private
TH2F* EcalDisplaysByEvent::energyMapEBcoarseAll_
private

Definition at line 200 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::energyMapEEM_
private
TH2F* EcalDisplaysByEvent::energyMapEEMAll_
private

Definition at line 201 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::energyMapEEMcoarse_
private
TH2F* EcalDisplaysByEvent::energyMapEEMcoarseAll_
private

Definition at line 202 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::energyMapEEP_
private
TH2F* EcalDisplaysByEvent::energyMapEEPAll_
private

Definition at line 203 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::energyMapEEPcoarse_
private
TH2F* EcalDisplaysByEvent::energyMapEEPcoarseAll_
private

Definition at line 204 of file EcalDisplaysByEvent.h.

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

EcalFedMap* EcalDisplaysByEvent::fedMap_
private

Definition at line 236 of file EcalDisplaysByEvent.h.

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

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

Definition at line 146 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectDigi().

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

Definition at line 144 of file EcalDisplaysByEvent.h.

Referenced by initHists(), and makeHistos().

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

Definition at line 136 of file EcalDisplaysByEvent.h.

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

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

Definition at line 135 of file EcalDisplaysByEvent.h.

Referenced by selectDigi().

edm::InputTag EcalDisplaysByEvent::headerProducer_
private

Definition at line 111 of file EcalDisplaysByEvent.h.

Referenced by analyze().

TTree* EcalDisplaysByEvent::histoCanvasNames_
private

Definition at line 235 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and endJob().

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

Definition at line 139 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and drawCanvas().

double EcalDisplaysByEvent::histRangeMax_
private

Definition at line 125 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

double EcalDisplaysByEvent::histRangeMin_
private

Definition at line 124 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and initEvtByEvtHists().

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

Definition at line 129 of file EcalDisplaysByEvent.h.

Referenced by analyze().

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

Definition at line 130 of file EcalDisplaysByEvent.h.

Referenced by analyze().

bool EcalDisplaysByEvent::makeDigiGraphs_
private

Definition at line 120 of file EcalDisplaysByEvent.h.

Referenced by analyze().

bool EcalDisplaysByEvent::makeEnergyHistos_
private

Definition at line 122 of file EcalDisplaysByEvent.h.

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

bool EcalDisplaysByEvent::makeOccupancyHistos_
private

Definition at line 123 of file EcalDisplaysByEvent.h.

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

bool EcalDisplaysByEvent::makeTimingHistos_
private

Definition at line 121 of file EcalDisplaysByEvent.h.

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

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

Definition at line 140 of file EcalDisplaysByEvent.h.

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

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

Definition at line 143 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent().

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

Definition at line 141 of file EcalDisplaysByEvent.h.

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

double EcalDisplaysByEvent::minTimingAmp_
private

Definition at line 119 of file EcalDisplaysByEvent.h.

Referenced by makeHistos().

double EcalDisplaysByEvent::minTimingEnergyEB_
private

Definition at line 126 of file EcalDisplaysByEvent.h.

Referenced by makeHistos().

double EcalDisplaysByEvent::minTimingEnergyEE_
private

Definition at line 127 of file EcalDisplaysByEvent.h.

Referenced by makeHistos().

int EcalDisplaysByEvent::naiveEvtNum_
private

Definition at line 239 of file EcalDisplaysByEvent.h.

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

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

Definition at line 138 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and selectHits().

int EcalDisplaysByEvent::ordinate[10]
private

Definition at line 133 of file EcalDisplaysByEvent.h.

Referenced by selectDigi().

TCanvas* EcalDisplaysByEvent::recHitOccupancyCanvas_
private

Definition at line 185 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::recHitOccupancyCanvasAll_
private

Definition at line 227 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TCanvas* EcalDisplaysByEvent::recHitOccupancyCoarseCanvas_
private

Definition at line 186 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::recHitOccupancyCoarseCanvasAll_
private

Definition at line 228 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TH2F* EcalDisplaysByEvent::recHitOccupancyEB_
private
TH2F* EcalDisplaysByEvent::recHitOccupancyEBAll_
private

Definition at line 205 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::recHitOccupancyEBcoarse_
private
TH2F* EcalDisplaysByEvent::recHitOccupancyEBcoarseAll_
private

Definition at line 206 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::recHitOccupancyEEM_
private
TH2F* EcalDisplaysByEvent::recHitOccupancyEEMAll_
private

Definition at line 207 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::recHitOccupancyEEMcoarse_
private
TH2F* EcalDisplaysByEvent::recHitOccupancyEEMcoarseAll_
private

Definition at line 208 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::recHitOccupancyEEP_
private
TH2F* EcalDisplaysByEvent::recHitOccupancyEEPAll_
private

Definition at line 209 of file EcalDisplaysByEvent.h.

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

TH2F* EcalDisplaysByEvent::recHitOccupancyEEPcoarse_
private
TH2F* EcalDisplaysByEvent::recHitOccupancyEEPcoarseAll_
private

Definition at line 210 of file EcalDisplaysByEvent.h.

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

int EcalDisplaysByEvent::runNum_
private

Definition at line 116 of file EcalDisplaysByEvent.h.

Referenced by analyze(), and endJob().

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

Definition at line 142 of file EcalDisplaysByEvent.h.

Referenced by EcalDisplaysByEvent(), and selectHits().

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

Definition at line 147 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and selectHits().

int EcalDisplaysByEvent::side_
private

Definition at line 117 of file EcalDisplaysByEvent.h.

Referenced by selectHits().

double EcalDisplaysByEvent::threshold_
private

Definition at line 118 of file EcalDisplaysByEvent.h.

Referenced by selectHits().

TCanvas* EcalDisplaysByEvent::timingCanvas_
private

Definition at line 181 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::timingCanvasAll_
private

Definition at line 223 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TH1F* EcalDisplaysByEvent::timingEB_
private
TH1F* EcalDisplaysByEvent::timingEBAll_
private

Definition at line 193 of file EcalDisplaysByEvent.h.

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

TH1F* EcalDisplaysByEvent::timingEEM_
private
TH1F* EcalDisplaysByEvent::timingEEMAll_
private

Definition at line 194 of file EcalDisplaysByEvent.h.

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

TH1F* EcalDisplaysByEvent::timingEEP_
private
TH1F* EcalDisplaysByEvent::timingEEPAll_
private

Definition at line 195 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::timingMapCanvas_
private

Definition at line 190 of file EcalDisplaysByEvent.h.

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

TCanvas* EcalDisplaysByEvent::timingMapCanvasAll_
private

Definition at line 232 of file EcalDisplaysByEvent.h.

Referenced by endJob(), and initAllEventHistos().

TCanvas* EcalDisplaysByEvent::timingMapCoarseCanvas_
private

Definition at line 189 of file EcalDisplaysByEvent.h.

Referenced by drawCanvas().

TCanvas* EcalDisplaysByEvent::timingMapCoarseCanvasAll_
private

Definition at line 231 of file EcalDisplaysByEvent.h.

TH3F* EcalDisplaysByEvent::timingMapEB_
private
TH3F* EcalDisplaysByEvent::timingMapEBAll_
private

Definition at line 220 of file EcalDisplaysByEvent.h.

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

TH3F* EcalDisplaysByEvent::timingMapEBCoarse_
private

Definition at line 175 of file EcalDisplaysByEvent.h.

TH3F* EcalDisplaysByEvent::timingMapEBCoarseAll_
private

Definition at line 217 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and makeHistos().

TH3F* EcalDisplaysByEvent::timingMapEEM_
private
TH3F* EcalDisplaysByEvent::timingMapEEMAll_
private

Definition at line 221 of file EcalDisplaysByEvent.h.

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

TH3F* EcalDisplaysByEvent::timingMapEEMCoarse_
private

Definition at line 176 of file EcalDisplaysByEvent.h.

Referenced by initEvtByEvtHists().

TH3F* EcalDisplaysByEvent::timingMapEEMCoarseAll_
private

Definition at line 218 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and makeHistos().

TH3F* EcalDisplaysByEvent::timingMapEEP_
private
TH3F* EcalDisplaysByEvent::timingMapEEPAll_
private

Definition at line 222 of file EcalDisplaysByEvent.h.

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

TH3F* EcalDisplaysByEvent::timingMapEEPCoarse_
private

Definition at line 177 of file EcalDisplaysByEvent.h.

Referenced by initEvtByEvtHists().

TH3F* EcalDisplaysByEvent::timingMapEEPCoarseAll_
private

Definition at line 219 of file EcalDisplaysByEvent.h.

Referenced by initAllEventHistos(), and makeHistos().