CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
EcalEleCalibLooper Class Reference

ECAL TB 2006 calibration with matrix inversion technique. More...

#include <EcalEleCalibLooper.h>

Inheritance diagram for EcalEleCalibLooper:
edm::EDLooper edm::EDLooperBase

Public Member Functions

void beginOfJob () override
 BeginOfJob. More...
 
Status duringLoop (const edm::Event &, const edm::EventSetup &) override
 
 EcalEleCalibLooper (const edm::ParameterSet &)
 ctor More...
 
void endOfJob () override
 
Status endOfLoop (const edm::EventSetup &, unsigned int iCounter) override
 
void startingNewLoop (unsigned int) override
 
 ~EcalEleCalibLooper () override
 dtor More...
 
- Public Member Functions inherited from edm::EDLooper
 EDLooper ()
 
 EDLooper (EDLooper const &)=delete
 
EDLooperoperator= (EDLooper const &)=delete
 
 ~EDLooper () override
 
- Public Member Functions inherited from edm::EDLooperBase
virtual void attachTo (ActivityRegistry &)
 Override this method if you need to monitor the state of the processing. More...
 
virtual void beginOfJob (EventSetup const &)
 
void beginOfJob (EventSetupImpl const &)
 
void copyInfo (ScheduleInfo const &)
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
 
void doBeginRun (RunPrincipal &, EventSetupImpl const &, ProcessContext *)
 
Status doDuringLoop (EventPrincipal &eventPrincipal, EventSetupImpl const &es, ProcessingController &, StreamContext *)
 
void doEndLuminosityBlock (LuminosityBlockPrincipal &, EventSetupImpl const &, ProcessContext *)
 
Status doEndOfLoop (EventSetupImpl const &es)
 
void doEndRun (RunPrincipal &, EventSetupImpl const &, ProcessContext *)
 
void doStartingNewLoop ()
 
 EDLooperBase ()
 
 EDLooperBase (EDLooperBase const &)=delete
 
virtual std::set< eventsetup::EventSetupRecordKeymodifyingRecords () const
 
EDLooperBaseoperator= (EDLooperBase const &)=delete
 
void prepareForNextLoop (eventsetup::EventSetupProvider *esp)
 
void setActionTable (ExceptionToActionTable const *actionTable)
 
void setModuleChanger (ModuleChanger *)
 
virtual ~EDLooperBase () noexcept(false)
 

Private Member Functions

int EBregionCheck (const int eta, const int phi) const
 Tells if you are in the region to be calibrated. More...
 
void EBRegionDefinition ()
 DS EB Region Definition. More...
 
int EBRegionId (const int, const int) const
 Reg Id generator EB --— for the barrel. More...
 
int EBregionsNum () const
 DS number of regions in EB. More...
 
int EEregionCheck (const int, const int) const
 returns zero if the coordinates are in the right place. More...
 
void EERegionDefinition ()
 
int EERegionId (const int, const int) const
 Gives the id of the region. More...
 
int EEregionsNum () const
 DS Number of regions in EE. More...
 
int etaShifter (const int) const
 LP Change the coordinate system. More...
 
double giveLimit (int)
 copes with the infinitives of the tangent More...
 

Private Attributes

bool isfirstcall_
 
edm::InputTag m_barrelAlCa
 EcalBarrel Input Collection name. More...
 
std::vector< DetIdm_barrelCells
 
EcalIntercalibConstantMap m_barrelMap
 the maps of recalib coeffs More...
 
std::vector< VEcalCalibBlock * > m_EcalCalibBlocks
 single blocks calibrators More...
 
edm::InputTag m_ElectronLabel
 To take the electrons. More...
 
edm::InputTag m_endcapAlCa
 EcalEndcap Input Collection name. More...
 
std::vector< DetIdm_endcapCells
 
EcalIntercalibConstantMap m_endcapMap
 
int m_etaEnd
 eta end of the region of interest More...
 
int m_etaStart
 phi size of the additive border to the sub-matrix More...
 
int m_etaWidth
 eta size of the sub-matrix More...
 
unsigned int m_loops
 DS sets the number of loops to do. More...
 
VFillMapm_MapFiller
 
double m_maxCoeff
 maximum coefficient accepted (RAW) More...
 
double m_maxEnergyPerCrystal
 maximum energy per crystal cut More...
 
int m_maxSelectedNumPerXtal
 maximum number of events per crystal More...
 
double m_minCoeff
 minimum coefficient accepted (RAW) More...
 
double m_minEnergyPerCrystal
 minimum energy per crystal cut More...
 
int m_phiEndEB
 phi end of the region of interest More...
 
int m_phiEndEE
 
int m_phiStartEB
 phi start of the region of interest More...
 
int m_phiStartEE
 
int m_phiWidthEB
 eta size of the additive border to the sub-matrix More...
 
int m_phiWidthEE
 
int m_radEnd
 
int m_radStart
 DS For the EE. More...
 
int m_radWidth
 
int m_recoWindowSidex
 reconstruction window size More...
 
int m_recoWindowSidey
 
std::vector< int > m_regions
 
int m_usingBlockSolver
 to exclude the blocksolver More...
 
std::map< int, int > m_xtalNumOfHits
 
std::map< int, int > m_xtalPositionInRegion
 
std::map< int, int > m_xtalRegionId
 

Additional Inherited Members

- Public Types inherited from edm::EDLooperBase
enum  Status { kContinue, kStop }
 
- Protected Member Functions inherited from edm::EDLooperBase
ModuleChangermoduleChanger ()
 This only returns a non-zero value during the call to endOfLoop. More...
 
ScheduleInfo const * scheduleInfo () const
 This returns a non-zero value after the constructor has been called. More...
 

Detailed Description

ECAL TB 2006 calibration with matrix inversion technique.

Author

Definition at line 32 of file EcalEleCalibLooper.h.

Constructor & Destructor Documentation

◆ EcalEleCalibLooper()

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

ctor

LP ctor.

Graphs to ckeck the region definition

End of Graphs

Definition at line 33 of file EcalEleCalibLooper.cc.

34  : m_barrelAlCa(iConfig.getParameter<edm::InputTag>("alcaBarrelHitCollection")),
35  m_endcapAlCa(iConfig.getParameter<edm::InputTag>("alcaEndcapHitCollection")),
36  m_recoWindowSidex(iConfig.getParameter<int>("recoWindowSidex")),
37  m_recoWindowSidey(iConfig.getParameter<int>("recoWindowSidey")),
38  m_etaWidth(iConfig.getParameter<int>("etaWidth")),
39  m_phiWidthEB(iConfig.getParameter<int>("phiWidthEB")),
40  m_etaStart(etaShifter(iConfig.getParameter<int>("etaStart"))),
41  m_etaEnd(etaShifter(iConfig.getParameter<int>("etaEnd"))),
42  m_phiStartEB(iConfig.getParameter<int>("phiStartEB")),
43  m_phiEndEB(iConfig.getParameter<int>("phiEndEB")),
44  m_radStart(iConfig.getParameter<int>("radStart")),
45  m_radEnd(iConfig.getParameter<int>("radEnd")),
46  m_radWidth(iConfig.getParameter<int>("radWidth")),
47  m_phiStartEE(iConfig.getParameter<int>("phiStartEE")),
48  m_phiEndEE(iConfig.getParameter<int>("phiEndEE")),
49  m_phiWidthEE(iConfig.getParameter<int>("phiWidthEE")),
50  m_maxSelectedNumPerXtal(iConfig.getParameter<int>("maxSelectedNumPerCrystal")),
51  m_minEnergyPerCrystal(iConfig.getParameter<double>("minEnergyPerCrystal")),
52  m_maxEnergyPerCrystal(iConfig.getParameter<double>("maxEnergyPerCrystal")),
53  m_minCoeff(iConfig.getParameter<double>("minCoeff")),
54  m_maxCoeff(iConfig.getParameter<double>("maxCoeff")),
55  m_usingBlockSolver(iConfig.getParameter<int>("usingBlockSolver")),
56  m_loops(iConfig.getParameter<int>("loops")),
57  m_ElectronLabel(iConfig.getParameter<edm::InputTag>("electronLabel")) {
58  edm::LogInfo("IML") << "[EcalEleCalibLooper][ctor] asserts";
60 
61  assert(m_etaStart >= 0 && m_etaStart <= 171);
62  assert(m_etaEnd >= m_etaStart && m_etaEnd <= 171);
64  assert(m_radStart >= 0 && m_radStart <= 50);
65  assert(m_radEnd >= m_radStart && m_radEnd <= 50);
66  edm::LogInfo("IML") << "[EcalEleCalibLooper][ctor] entering ";
67  edm::LogInfo("IML") << "[EcalEleCalibLooper][ctor] region definition";
71  TH2F* EBRegion = new TH2F("EBRegion", "EBRegion", 170, 0, 170, 360, 0, 360);
72  for (int eta = 0; eta < 170; ++eta)
73  for (int phi = 0; phi < 360; ++phi) {
74  EBRegion->Fill(eta, phi, m_xtalRegionId[EBDetId::unhashIndex(eta * 360 + phi).rawId()]);
75  }
76  TH2F* EERegion = new TH2F("EERegion", "EERegion", 100, 0, 100, 100, 0, 100);
77  for (int x = 0; x < 100; ++x)
78  for (int y = 0; y < 100; ++y) {
79  if (EEDetId::validDetId(x + 1, y + 1, 1))
80  EERegion->Fill(x, y, m_xtalRegionId[EEDetId(x + 1, y + 1, -1).rawId()]);
81  }
82 
83  TFile out("EBZone.root", "recreate");
84  EBRegion->Write();
85  EERegion->Write();
86  out.Close();
87  delete EERegion;
88  delete EBRegion;
90 
91  //PG build the calibration algorithms for the regions
92  //PG ------------------------------------------------
93 
94  edm::LogInfo("IML") << "[EcalEleCalibLooper][ctor] Calib Block";
95  std::string algorithm = iConfig.getParameter<std::string>("algorithm");
96  int eventWeight = iConfig.getUntrackedParameter<int>("L3EventWeight", 1);
97 
98  //PG loop over the regions set
99  for (int region = 0; region < EBregionsNum() + 2 * EEregionsNum(); ++region) {
100  if (algorithm == "IMA")
101  m_EcalCalibBlocks.push_back(new IMACalibBlock(m_regions.at(region)));
102  else if (algorithm == "L3")
103  m_EcalCalibBlocks.push_back(new L3CalibBlock(m_regions.at(region), eventWeight));
104  else {
105  edm::LogError("building") << algorithm << " is not a valid calibration algorithm";
106  exit(1);
107  }
108  } //PG loop over the regions set
109  std::string mapFiller = iConfig.getParameter<std::string>("FillType");
110  if (mapFiller == "Cluster")
117  &m_barrelMap,
118  &m_endcapMap);
119  if (mapFiller == "Matrix")
126  &m_barrelMap,
127  &m_endcapMap);
128 } //end ctor

References qcdUeDQM_cfi::algorithm, cms::cuda::assert(), EBRegionDefinition(), EBregionsNum(), EERegionDefinition(), EEregionsNum(), PVValHelper::eta, beamvalidation::exit(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), m_barrelMap, m_EcalCalibBlocks, m_endcapMap, m_etaEnd, m_etaStart, m_etaWidth, m_MapFiller, m_maxEnergyPerCrystal, m_minEnergyPerCrystal, m_radEnd, m_radStart, m_radWidth, m_recoWindowSidex, m_recoWindowSidey, m_regions, m_xtalPositionInRegion, m_xtalRegionId, MillePedeFileConverter_cfg::out, phi, HLT_2018_cff::region, AlCaHLTBitMon_QueryRunRegistry::string, EBDetId::unhashIndex(), EEDetId::validDetId(), x, and y.

◆ ~EcalEleCalibLooper()

EcalEleCalibLooper::~EcalEleCalibLooper ( )
override

dtor

LP destructor.

Definition at line 133 of file EcalEleCalibLooper.cc.

133  {
134  edm::LogInfo("IML") << "[EcalEleCalibLooper][dtor]";
135  for (std::vector<VEcalCalibBlock*>::iterator calibBlock = m_EcalCalibBlocks.begin();
136  calibBlock != m_EcalCalibBlocks.end();
137  ++calibBlock)
138  delete (*calibBlock);
139 }

References m_EcalCalibBlocks.

Member Function Documentation

◆ beginOfJob()

void EcalEleCalibLooper::beginOfJob ( )
overridevirtual

BeginOfJob.

Reimplemented from edm::EDLooperBase.

Definition at line 144 of file EcalEleCalibLooper.cc.

144 { isfirstcall_ = true; }

References isfirstcall_.

◆ duringLoop()

edm::EDLooper::Status EcalEleCalibLooper::duringLoop ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

duringLoop return the status Kcontinue, fills the calibBlock with the recHits

Implements edm::EDLooper.

Definition at line 166 of file EcalEleCalibLooper.cc.

166  {
167  // this chunk used to belong to beginJob(isetup). Moved here
168  // with the beginJob without arguments migration
169 
170  if (isfirstcall_) {
171  edm::ESHandle<CaloGeometry> geoHandle;
172  iSetup.get<CaloGeometryRecord>().get(geoHandle);
173  const CaloGeometry& geometry = *geoHandle;
174  m_barrelCells = geometry.getValidDetIds(DetId::Ecal, EcalBarrel);
175  m_endcapCells = geometry.getValidDetIds(DetId::Ecal, EcalEndcap);
176  for (std::vector<DetId>::const_iterator barrelIt = m_barrelCells.begin(); barrelIt != m_barrelCells.end();
177  ++barrelIt) {
178  m_barrelMap[*barrelIt] = 1;
179  m_xtalNumOfHits[barrelIt->rawId()] = 0;
180  }
181  for (std::vector<DetId>::const_iterator endcapIt = m_endcapCells.begin(); endcapIt != m_endcapCells.end();
182  ++endcapIt) {
183  m_endcapMap[*endcapIt] = 1;
184  m_xtalNumOfHits[endcapIt->rawId()] = 0;
185  }
186 
187  isfirstcall_ = false;
188  }
189 
190  //take the collection of recHits in the barrel
191  const EBRecHitCollection* barrelHitsCollection = nullptr;
192  edm::Handle<EBRecHitCollection> barrelRecHitsHandle;
193  iEvent.getByLabel(m_barrelAlCa, barrelRecHitsHandle);
194  barrelHitsCollection = barrelRecHitsHandle.product();
195  if (!barrelRecHitsHandle.isValid()) {
196  edm::LogError("reading") << "[EcalEleCalibLooper] barrel rec hits not found";
197  return kContinue;
198  }
199 
200  //take the collection of rechis in the endcap
201  const EERecHitCollection* endcapHitsCollection = nullptr;
202  edm::Handle<EERecHitCollection> endcapRecHitsHandle;
203  iEvent.getByLabel(m_endcapAlCa, endcapRecHitsHandle);
204  endcapHitsCollection = endcapRecHitsHandle.product();
205  if (!endcapRecHitsHandle.isValid()) {
206  edm::LogError("reading") << "[EcalEleCalibLooper] endcap rec hits not found";
207  return kContinue;
208  }
209 
210  //Takes the electron collection of the pixel detector
212  iEvent.getByLabel(m_ElectronLabel, pElectrons);
213  if (!pElectrons.isValid()) {
214  edm::LogError("reading") << "[EcalEleCalibLooper] electrons not found";
215  return kContinue;
216  }
217 
218  //Start the loop over the electrons
219  for (reco::GsfElectronCollection::const_iterator eleIt = pElectrons->begin(); eleIt != pElectrons->end(); ++eleIt) {
220  double pSubtract = 0;
221  double pTk = 0;
222  std::map<int, double> xtlMap;
223  DetId Max = 0;
224  if (std::abs(eleIt->eta()) < 1.49)
225  Max = EcalClusterTools::getMaximum(eleIt->superCluster()->hitsAndFractions(), barrelHitsCollection).first;
226  else
227  Max = EcalClusterTools::getMaximum(eleIt->superCluster()->hitsAndFractions(), endcapHitsCollection).first;
228  if (Max.det() == 0)
229  continue;
231  eleIt->superCluster()->hitsAndFractions(), Max, barrelHitsCollection, endcapHitsCollection, xtlMap, pSubtract);
233  continue;
234  ++m_xtalNumOfHits[Max.rawId()];
235  if (m_xtalRegionId[Max.rawId()] == -1)
236  continue;
237  pTk = eleIt->trackMomentumAtVtx().R();
238  m_EcalCalibBlocks.at(m_xtalRegionId[Max.rawId()])->Fill(xtlMap.begin(), xtlMap.end(), pTk, pSubtract);
239  } //End of the loop over the electron collection
240 
241  return kContinue;
242 } //end of duringLoop

References funct::abs(), DetId::Ecal, EcalBarrel, EcalEndcap, HcalObjRepresent::Fill(), VFillMap::fillMap(), dqmdumpme::first, edm::EventSetup::get(), get, iEvent, isfirstcall_, edm::HandleBase::isValid(), edm::EDLooperBase::kContinue, m_barrelAlCa, m_barrelCells, m_barrelMap, m_EcalCalibBlocks, m_ElectronLabel, m_endcapAlCa, m_endcapCells, m_endcapMap, m_MapFiller, m_maxSelectedNumPerXtal, m_xtalNumOfHits, m_xtalRegionId, Max(), and edm::Handle< T >::product().

◆ EBregionCheck()

int EcalEleCalibLooper::EBregionCheck ( const int  eta,
const int  phi 
) const
private

Tells if you are in the region to be calibrated.

Definition at line 344 of file EcalEleCalibLooper.cc.

344  {
345  if (eta < m_etaStart)
346  return 1;
347  if (eta >= m_etaEnd)
348  return 2;
349  if (phi < m_phiStartEB)
350  return 3;
351  if (phi >= m_phiEndEB)
352  return 4;
353  return 0;
354 }

References PVValHelper::eta, m_etaEnd, m_etaStart, m_phiEndEB, m_phiStartEB, and phi.

Referenced by EBRegionId().

◆ EBRegionDefinition()

void EcalEleCalibLooper::EBRegionDefinition ( )
private

DS EB Region Definition.

Definition at line 448 of file EcalEleCalibLooper.cc.

448  {
449  int reg = -1;
450  for (int it = 0; it < EBregionsNum(); ++it)
451  m_regions.push_back(0);
452  for (int eta = 0; eta < 170; ++eta)
453  for (int phi = 0; phi < 360; ++phi) {
454  reg = EBRegionId(eta, phi);
455  m_xtalRegionId[EBDetId::unhashIndex(eta * 360 + phi).rawId()] = reg;
456  if (reg == -1)
457  continue;
459  ++m_regions.at(reg);
460  }
461 }

References EBRegionId(), EBregionsNum(), PVValHelper::eta, m_regions, m_xtalPositionInRegion, m_xtalRegionId, phi, DetId::rawId(), and EBDetId::unhashIndex().

Referenced by EcalEleCalibLooper().

◆ EBRegionId()

int EcalEleCalibLooper::EBRegionId ( const int  etaXtl,
const int  phiXtl 
) const
private

Reg Id generator EB --— for the barrel.

Definition at line 390 of file EcalEleCalibLooper.cc.

390  {
391  if (EBregionCheck(etaXtl, phiXtl))
392  return -1;
393  int phifake = m_phiStartEB;
394  if (m_phiStartEB > m_phiEndEB)
395  phifake = m_phiStartEB - 360;
396  int Nphi = (m_phiEndEB - phifake) / m_phiWidthEB;
397  int etaI = (etaXtl - m_etaStart) / m_etaWidth;
398  int phiI = (phiXtl - m_phiStartEB) / m_phiWidthEB;
399  int regionNumEB = phiI + Nphi * etaI;
400  return (int)regionNumEB;
401 }

References EBregionCheck(), m_etaStart, m_etaWidth, m_phiEndEB, m_phiStartEB, and m_phiWidthEB.

Referenced by EBRegionDefinition().

◆ EBregionsNum()

int EcalEleCalibLooper::EBregionsNum ( ) const
inlineprivate

DS number of regions in EB.

Definition at line 438 of file EcalEleCalibLooper.cc.

438  {
439  int phi = m_phiStartEB;
440  if (m_phiStartEB > m_phiEndEB)
441  phi = m_phiStartEB - 360;
442  return ((m_etaEnd - m_etaStart) / m_etaWidth) * ((m_phiEndEB - phi) / m_phiWidthEB);
443 }

References m_etaEnd, m_etaStart, m_etaWidth, m_phiEndEB, m_phiStartEB, m_phiWidthEB, and phi.

Referenced by EBRegionDefinition(), EcalEleCalibLooper(), and EERegionDefinition().

◆ EEregionCheck()

int EcalEleCalibLooper::EEregionCheck ( const int  ics,
const int  ips 
) const
private

returns zero if the coordinates are in the right place.

Definition at line 503 of file EcalEleCalibLooper.cc.

503  {
504  int x = ics - 50;
505  int y = ips - 50;
506  double radius2 = x * x + y * y;
507  if (radius2 < 10 * 10)
508  return 1; //center of the donut
509  if (radius2 > 50 * 50)
510  return 1; //outer part of the donut
511  if (radius2 < m_radStart * m_radStart)
512  return 2;
513  if (radius2 >= m_radEnd * m_radEnd)
514  return 2;
515  double phi = atan2(static_cast<double>(y), static_cast<double>(x));
516  phi = degrees(phi);
517  if (phi < 0)
518  phi += 360;
519  if (m_phiStartEE < m_phiEndEE && phi > m_phiStartEE && phi < m_phiEndEE)
520  return 0;
522  return 0;
523  return 3;
524 }

References degrees(), Ecal07UnpackerData_cfi::ics, m_phiEndEE, m_phiStartEE, m_radEnd, m_radStart, phi, x, and y.

Referenced by EERegionId().

◆ EERegionDefinition()

void EcalEleCalibLooper::EERegionDefinition ( )
private

Definition at line 466 of file EcalEleCalibLooper.cc.

466  {
467  // reset
468  int EBnum = EBregionsNum();
469  int EEnum = EEregionsNum();
470  for (int it = 0; it < 2 * EEnum; ++it)
471  m_regions.push_back(0);
472  // loop sui xtl
473  int reg = -1;
474  for (int ics = 0; ics < 100; ++ics)
475  for (int ips = 0; ips < 100; ++ips) {
476  int ireg = EERegionId(ics, ips);
477  if (ireg == -1)
478  reg = -1;
479  else
480  reg = EBnum + ireg;
481  if (EEDetId::validDetId(ics + 1, ips + 1, 1)) {
482  m_xtalRegionId[EEDetId(ics + 1, ips + 1, 1).rawId()] = reg;
483  if (reg == -1)
484  continue;
485  m_xtalPositionInRegion[EEDetId(ics + 1, ips + 1, 1).rawId()] = m_regions.at(reg);
486  ++m_regions.at(reg);
487  }
488  if (reg != -1)
489  reg += EEnum;
490  if (EEDetId::validDetId(ics + 1, ips + 1, -1)) {
491  m_xtalRegionId[EEDetId(ics + 1, ips + 1, -1).rawId()] = reg;
492  if (reg == -1)
493  continue;
494  m_xtalPositionInRegion[EEDetId(ics + 1, ips + 1, -1).rawId()] = m_regions.at(reg);
495  ++m_regions.at(reg);
496  }
497  }
498 }

References bsc_activity_cfg::EBnum, EBregionsNum(), bsc_activity_cfg::EEnum, EERegionId(), EEregionsNum(), Ecal07UnpackerData_cfi::ics, m_regions, m_xtalPositionInRegion, m_xtalRegionId, DetId::rawId(), and EEDetId::validDetId().

Referenced by EcalEleCalibLooper().

◆ EERegionId()

int EcalEleCalibLooper::EERegionId ( const int  ics,
const int  ips 
) const
private

Gives the id of the region.

Definition at line 406 of file EcalEleCalibLooper.cc.

406  {
407  if (EEregionCheck(ics, ips))
408  return -1;
409  int phifake = m_phiStartEE;
410  if (m_phiStartEE > m_phiEndEE)
411  phifake = m_phiStartEE - 360;
412  double radius = (ics - 50) * (ics - 50) + (ips - 50) * (ips - 50);
413  radius = sqrt(radius);
414  int Nphi = (m_phiEndEE - phifake) / m_phiWidthEE;
415  double phi = atan2(static_cast<double>(ips - 50), static_cast<double>(ics - 50));
416  phi = degrees(phi);
417  if (phi < 0)
418  phi += 360;
419  int radI = static_cast<int>((radius - m_radStart) / m_radWidth);
420  int phiI = static_cast<int>((m_phiEndEE - phi) / m_phiWidthEE);
421  int regionNumEE = phiI + Nphi * radI;
422  return regionNumEE;
423 }

References degrees(), EEregionCheck(), Ecal07UnpackerData_cfi::ics, m_phiEndEE, m_phiStartEE, m_phiWidthEE, m_radStart, m_radWidth, phi, CosmicsPD_Skims::radius, and mathSSE::sqrt().

Referenced by EERegionDefinition().

◆ EEregionsNum()

int EcalEleCalibLooper::EEregionsNum ( ) const
inlineprivate

DS Number of regions in EE.

Definition at line 428 of file EcalEleCalibLooper.cc.

428  {
429  int phifake = m_phiStartEE;
430  if (m_phiStartEE > m_phiEndEE)
431  phifake = m_phiStartEE - 360;
432  return ((m_radEnd - m_radStart) / m_radWidth) * ((m_phiEndEE - phifake) / m_phiWidthEE);
433 }

References m_phiEndEE, m_phiStartEE, m_phiWidthEE, m_radEnd, m_radStart, and m_radWidth.

Referenced by EcalEleCalibLooper(), and EERegionDefinition().

◆ endOfJob()

void EcalEleCalibLooper::endOfJob ( )
overridevirtual

LP endOfJob writes the coefficients in the xml format and exits

Reimplemented from edm::EDLooperBase.

Definition at line 320 of file EcalEleCalibLooper.cc.

320  {
321  edm::LogInfo("IML") << "[InvMatrixCalibLooper][endOfJob] saving calib coeffs";
322 
323  //Writes the coeffs
324  calibXMLwriter barrelWriter(EcalBarrel);
325  calibXMLwriter endcapWriter(EcalEndcap);
326  for (std::vector<DetId>::const_iterator barrelIt = m_barrelCells.begin(); barrelIt != m_barrelCells.end();
327  ++barrelIt) {
328  EBDetId eb(*barrelIt);
329  barrelWriter.writeLine(eb, m_barrelMap[*barrelIt]);
330  }
331  for (std::vector<DetId>::const_iterator endcapIt = m_endcapCells.begin(); endcapIt != m_endcapCells.end();
332  ++endcapIt) {
333  EEDetId ee(*endcapIt);
334  endcapWriter.writeLine(ee, m_endcapMap[*endcapIt]);
335  }
336  edm::LogInfo("IML") << "[InvMatrixCalibLooper][endOfJob] Exiting";
337 }

References EcalBarrel, EcalEndcap, m_barrelCells, m_barrelMap, m_endcapCells, m_endcapMap, and calibXMLwriter::writeLine().

◆ endOfLoop()

edm::EDLooper::Status EcalEleCalibLooper::endOfLoop ( const edm::EventSetup dumb,
unsigned int  iCounter 
)
overridevirtual

EndOfLoop Return kContinue if there's still another loop to be done; otherwise stops returnig kStop; Takes the coefficients solving the calibBlock;

Implements edm::EDLooperBase.

Definition at line 249 of file EcalEleCalibLooper.cc.

249  {
250  edm::LogInfo("IML") << "[InvMatrixCalibLooper][endOfLoop] entering...";
251  for (std::vector<VEcalCalibBlock*>::iterator calibBlock = m_EcalCalibBlocks.begin();
252  calibBlock != m_EcalCalibBlocks.end();
253  ++calibBlock)
254  (*calibBlock)->solve(m_usingBlockSolver, m_minCoeff, m_maxCoeff);
255 
256  TH1F* EBcoeffEnd = new TH1F("EBRegion", "EBRegion", 100, 0.5, 2.1);
257  TH2F* EBcoeffMap = new TH2F("EBcoeff", "EBcoeff", 171, -85, 85, 360, 1, 361);
258  TH1F* EEPcoeffEnd = new TH1F("EEPRegion", "EEPRegion", 100, 0.5, 2.1);
259  TH1F* EEMcoeffEnd = new TH1F("EEMRegion", "EEMRegion", 100, 0.5, 2.1);
260  TH2F* EEPcoeffMap = new TH2F("EEPcoeffMap", "EEPcoeffMap", 101, 1, 101, 101, 0, 101);
261  TH2F* EEMcoeffMap = new TH2F("EEMcoeffMap", "EEMcoeffMap", 101, 1, 101, 101, 0, 101);
262  //loop over the barrel xtals to get the coeffs
263  for (std::vector<DetId>::const_iterator barrelIt = m_barrelCells.begin(); barrelIt != m_barrelCells.end();
264  ++barrelIt) {
265  EBDetId ee(*barrelIt);
266  int index = barrelIt->rawId();
267  if (m_xtalRegionId[index] == -1)
268  continue;
270  EBcoeffEnd->Fill(m_barrelMap[*barrelIt]);
271  EBcoeffMap->Fill(ee.ieta(), ee.iphi(), m_barrelMap[*barrelIt]);
272  } //PG loop over phi
273 
274  // loop over the EndCap to get the recalib coefficients
275  for (std::vector<DetId>::const_iterator endcapIt = m_endcapCells.begin(); endcapIt != m_endcapCells.end();
276  ++endcapIt) {
277  EEDetId ee(*endcapIt);
278  int index = endcapIt->rawId();
279  if (ee.zside() > 0) {
280  if (m_xtalRegionId[index] == -1)
281  continue;
283  EEPcoeffEnd->Fill(m_endcapMap[*endcapIt]);
284  EEPcoeffMap->Fill(ee.ix(), ee.iy(), m_endcapMap[*endcapIt]);
285  } else {
287  EEMcoeffEnd->Fill(m_endcapMap[*endcapIt]);
288  EEMcoeffMap->Fill(ee.ix(), ee.iy(), m_endcapMap[*endcapIt]);
289  }
290  } // loop over the EndCap to get the recalib coefficients
291 
292  edm::LogInfo("IML") << "[InvMatrixCalibLooper][endOfLoop] End of endOfLoop";
293 
294  char filename[80];
295  sprintf(filename, "coeffs%d.root", iCounter);
296  TFile zout(filename, "recreate");
297  EBcoeffEnd->Write();
298  EBcoeffMap->Write();
299  EEPcoeffEnd->Write();
300  EEPcoeffMap->Write();
301  EEMcoeffEnd->Write();
302  EEMcoeffMap->Write();
303  zout.Close();
304  delete EBcoeffEnd;
305  delete EBcoeffMap;
306  delete EEPcoeffEnd;
307  delete EEMcoeffEnd;
308  delete EEPcoeffMap;
309  delete EEMcoeffMap;
310  if (iCounter < m_loops - 1)
311  return kContinue;
312  else
313  return kStop;
314 }

References corrVsCorr::filename, EBDetId::ieta(), EBDetId::iphi(), EEDetId::ix(), EEDetId::iy(), edm::EDLooperBase::kContinue, edm::EDLooperBase::kStop, m_barrelCells, m_barrelMap, m_EcalCalibBlocks, m_endcapCells, m_endcapMap, m_loops, m_maxCoeff, m_minCoeff, m_usingBlockSolver, m_xtalPositionInRegion, m_xtalRegionId, and EEDetId::zside().

◆ etaShifter()

int EcalEleCalibLooper::etaShifter ( const int  etaOld) const
private

LP Change the coordinate system.

Definition at line 529 of file EcalEleCalibLooper.cc.

529  {
530  if (etaOld < 0)
531  return etaOld + 85;
532  else if (etaOld > 0)
533  return etaOld + 84;
534  assert(0 != etaOld); // etaOld = 0, apparently not a foreseen value, so fail
535  return 999; // dummy statement to silence compiler warning
536 }

References cms::cuda::assert().

◆ giveLimit()

double EcalEleCalibLooper::giveLimit ( int  degrees)
private

copes with the infinitives of the tangent

Definition at line 369 of file EcalEleCalibLooper.cc.

369  {
370  //PG 200 > atan (50/0.5)
371  if (degrees == 90)
372  return 90;
373  return tan(radiants(degrees));
374 }

References degrees(), radiants(), and funct::tan().

◆ startingNewLoop()

void EcalEleCalibLooper::startingNewLoop ( unsigned int  ciclo)
overridevirtual

startingNewLoop empties the map of the calibBlock so that it can be filled

Implements edm::EDLooperBase.

Definition at line 150 of file EcalEleCalibLooper.cc.

150  {
151  edm::LogInfo("IML") << "[InvMatrixCalibLooper][Start] entering loop " << ciclo;
152 
153  for (std::vector<VEcalCalibBlock*>::iterator calibBlock = m_EcalCalibBlocks.begin();
154  calibBlock != m_EcalCalibBlocks.end();
155  ++calibBlock)
156  (*calibBlock)->reset();
157  for (std::map<int, int>::iterator it = m_xtalNumOfHits.begin(); it != m_xtalNumOfHits.end(); ++it)
158  it->second = 0;
159  return;
160 }

References m_EcalCalibBlocks, and m_xtalNumOfHits.

Member Data Documentation

◆ isfirstcall_

bool EcalEleCalibLooper::isfirstcall_
private

Definition at line 138 of file EcalEleCalibLooper.h.

Referenced by beginOfJob(), and duringLoop().

◆ m_barrelAlCa

edm::InputTag EcalEleCalibLooper::m_barrelAlCa
private

EcalBarrel Input Collection name.

Definition at line 63 of file EcalEleCalibLooper.h.

Referenced by duringLoop().

◆ m_barrelCells

std::vector<DetId> EcalEleCalibLooper::m_barrelCells
private

Definition at line 131 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), endOfJob(), and endOfLoop().

◆ m_barrelMap

EcalIntercalibConstantMap EcalEleCalibLooper::m_barrelMap
private

the maps of recalib coeffs

Definition at line 114 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), EcalEleCalibLooper(), endOfJob(), and endOfLoop().

◆ m_EcalCalibBlocks

std::vector<VEcalCalibBlock *> EcalEleCalibLooper::m_EcalCalibBlocks
private

single blocks calibrators

Definition at line 101 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), EcalEleCalibLooper(), endOfLoop(), startingNewLoop(), and ~EcalEleCalibLooper().

◆ m_ElectronLabel

edm::InputTag EcalEleCalibLooper::m_ElectronLabel
private

To take the electrons.

Definition at line 120 of file EcalEleCalibLooper.h.

Referenced by duringLoop().

◆ m_endcapAlCa

edm::InputTag EcalEleCalibLooper::m_endcapAlCa
private

EcalEndcap Input Collection name.

Definition at line 65 of file EcalEleCalibLooper.h.

Referenced by duringLoop().

◆ m_endcapCells

std::vector<DetId> EcalEleCalibLooper::m_endcapCells
private

Definition at line 132 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), endOfJob(), and endOfLoop().

◆ m_endcapMap

EcalIntercalibConstantMap EcalEleCalibLooper::m_endcapMap
private

Definition at line 115 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), EcalEleCalibLooper(), endOfJob(), and endOfLoop().

◆ m_etaEnd

int EcalEleCalibLooper::m_etaEnd
private

eta end of the region of interest

Definition at line 83 of file EcalEleCalibLooper.h.

Referenced by EBregionCheck(), EBregionsNum(), and EcalEleCalibLooper().

◆ m_etaStart

int EcalEleCalibLooper::m_etaStart
private

phi size of the additive border to the sub-matrix

eta start of the region of interest

Definition at line 81 of file EcalEleCalibLooper.h.

Referenced by EBregionCheck(), EBRegionId(), EBregionsNum(), and EcalEleCalibLooper().

◆ m_etaWidth

int EcalEleCalibLooper::m_etaWidth
private

eta size of the sub-matrix

Definition at line 72 of file EcalEleCalibLooper.h.

Referenced by EBRegionId(), EBregionsNum(), and EcalEleCalibLooper().

◆ m_loops

unsigned int EcalEleCalibLooper::m_loops
private

DS sets the number of loops to do.

Definition at line 118 of file EcalEleCalibLooper.h.

Referenced by endOfLoop().

◆ m_MapFiller

VFillMap* EcalEleCalibLooper::m_MapFiller
private

Definition at line 122 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), and EcalEleCalibLooper().

◆ m_maxCoeff

double EcalEleCalibLooper::m_maxCoeff
private

maximum coefficient accepted (RAW)

Definition at line 109 of file EcalEleCalibLooper.h.

Referenced by endOfLoop().

◆ m_maxEnergyPerCrystal

double EcalEleCalibLooper::m_maxEnergyPerCrystal
private

maximum energy per crystal cut

Definition at line 105 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper().

◆ m_maxSelectedNumPerXtal

int EcalEleCalibLooper::m_maxSelectedNumPerXtal
private

maximum number of events per crystal

Definition at line 98 of file EcalEleCalibLooper.h.

Referenced by duringLoop().

◆ m_minCoeff

double EcalEleCalibLooper::m_minCoeff
private

minimum coefficient accepted (RAW)

Definition at line 107 of file EcalEleCalibLooper.h.

Referenced by endOfLoop().

◆ m_minEnergyPerCrystal

double EcalEleCalibLooper::m_minEnergyPerCrystal
private

minimum energy per crystal cut

Definition at line 103 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper().

◆ m_phiEndEB

int EcalEleCalibLooper::m_phiEndEB
private

phi end of the region of interest

Definition at line 87 of file EcalEleCalibLooper.h.

Referenced by EBregionCheck(), EBRegionId(), and EBregionsNum().

◆ m_phiEndEE

int EcalEleCalibLooper::m_phiEndEE
private

Definition at line 94 of file EcalEleCalibLooper.h.

Referenced by EEregionCheck(), EERegionId(), and EEregionsNum().

◆ m_phiStartEB

int EcalEleCalibLooper::m_phiStartEB
private

phi start of the region of interest

Definition at line 85 of file EcalEleCalibLooper.h.

Referenced by EBregionCheck(), EBRegionId(), and EBregionsNum().

◆ m_phiStartEE

int EcalEleCalibLooper::m_phiStartEE
private

Definition at line 93 of file EcalEleCalibLooper.h.

Referenced by EEregionCheck(), EERegionId(), and EEregionsNum().

◆ m_phiWidthEB

int EcalEleCalibLooper::m_phiWidthEB
private

eta size of the additive border to the sub-matrix

phi size of the sub-matrix

Definition at line 76 of file EcalEleCalibLooper.h.

Referenced by EBRegionId(), and EBregionsNum().

◆ m_phiWidthEE

int EcalEleCalibLooper::m_phiWidthEE
private

Definition at line 95 of file EcalEleCalibLooper.h.

Referenced by EERegionId(), and EEregionsNum().

◆ m_radEnd

int EcalEleCalibLooper::m_radEnd
private

Definition at line 90 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper(), EEregionCheck(), and EEregionsNum().

◆ m_radStart

int EcalEleCalibLooper::m_radStart
private

DS For the EE.

Definition at line 89 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper(), EEregionCheck(), EERegionId(), and EEregionsNum().

◆ m_radWidth

int EcalEleCalibLooper::m_radWidth
private

Definition at line 91 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper(), EERegionId(), and EEregionsNum().

◆ m_recoWindowSidex

int EcalEleCalibLooper::m_recoWindowSidex
private

reconstruction window size

Definition at line 68 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper().

◆ m_recoWindowSidey

int EcalEleCalibLooper::m_recoWindowSidey
private

Definition at line 69 of file EcalEleCalibLooper.h.

Referenced by EcalEleCalibLooper().

◆ m_regions

std::vector<int> EcalEleCalibLooper::m_regions
private

◆ m_usingBlockSolver

int EcalEleCalibLooper::m_usingBlockSolver
private

to exclude the blocksolver

Definition at line 111 of file EcalEleCalibLooper.h.

Referenced by endOfLoop().

◆ m_xtalNumOfHits

std::map<int, int> EcalEleCalibLooper::m_xtalNumOfHits
private

Definition at line 136 of file EcalEleCalibLooper.h.

Referenced by duringLoop(), and startingNewLoop().

◆ m_xtalPositionInRegion

std::map<int, int> EcalEleCalibLooper::m_xtalPositionInRegion
private

◆ m_xtalRegionId

std::map<int, int> EcalEleCalibLooper::m_xtalRegionId
private
DDAxes::y
EcalEleCalibLooper::m_endcapAlCa
edm::InputTag m_endcapAlCa
EcalEndcap Input Collection name.
Definition: EcalEleCalibLooper.h:65
EcalEleCalibLooper::EERegionId
int EERegionId(const int, const int) const
Gives the id of the region.
Definition: EcalEleCalibLooper.cc:406
EcalEleCalibLooper::m_etaEnd
int m_etaEnd
eta end of the region of interest
Definition: EcalEleCalibLooper.h:83
calibXMLwriter
Definition: calibXMLwriter.h:15
EcalEleCalibLooper::m_endcapMap
EcalIntercalibConstantMap m_endcapMap
Definition: EcalEleCalibLooper.h:115
degrees
double degrees(double radiants)
def degrees
Definition: EcalEleCalibLooper.cc:359
EcalEleCalibLooper::EERegionDefinition
void EERegionDefinition()
Definition: EcalEleCalibLooper.cc:466
edm::Handle::product
T const * product() const
Definition: Handle.h:70
EcalEleCalibLooper::m_phiWidthEE
int m_phiWidthEE
Definition: EcalEleCalibLooper.h:95
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
EBDetId
Definition: EBDetId.h:17
EcalEleCalibLooper::EBRegionDefinition
void EBRegionDefinition()
DS EB Region Definition.
Definition: EcalEleCalibLooper.cc:448
geometry
Definition: geometry.py:1
edm::LogInfo
Definition: MessageLogger.h:254
EBDetId::unhashIndex
static EBDetId unhashIndex(int hi)
get a DetId from a compact index for arrays
Definition: EBDetId.h:110
cms::cuda::assert
assert(be >=bs)
edm::SortedCollection< EcalRecHit >
EcalEleCalibLooper::m_minCoeff
double m_minCoeff
minimum coefficient accepted (RAW)
Definition: EcalEleCalibLooper.h:107
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
ClusterFillMap
Definition: ClusterFillMap.h:7
DDAxes::x
EcalEleCalibLooper::m_etaWidth
int m_etaWidth
eta size of the sub-matrix
Definition: EcalEleCalibLooper.h:72
edm::Handle
Definition: AssociativeIterator.h:50
dqmdumpme.first
first
Definition: dqmdumpme.py:55
EcalBarrel
Definition: EcalSubdetector.h:10
EcalEleCalibLooper::m_xtalPositionInRegion
std::map< int, int > m_xtalPositionInRegion
Definition: EcalEleCalibLooper.h:135
EcalEleCalibLooper::m_maxSelectedNumPerXtal
int m_maxSelectedNumPerXtal
maximum number of events per crystal
Definition: EcalEleCalibLooper.h:98
EcalEleCalibLooper::m_barrelCells
std::vector< DetId > m_barrelCells
Definition: EcalEleCalibLooper.h:131
EcalEleCalibLooper::m_regions
std::vector< int > m_regions
Definition: EcalEleCalibLooper.h:129
EcalEleCalibLooper::EBregionsNum
int EBregionsNum() const
DS number of regions in EB.
Definition: EcalEleCalibLooper.cc:438
DetId
Definition: DetId.h:17
CaloGeometry
Definition: CaloGeometry.h:21
EcalEleCalibLooper::m_phiStartEE
int m_phiStartEE
Definition: EcalEleCalibLooper.h:93
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
EcalEleCalibLooper::m_radEnd
int m_radEnd
Definition: EcalEleCalibLooper.h:90
EcalEleCalibLooper::m_maxEnergyPerCrystal
double m_maxEnergyPerCrystal
maximum energy per crystal cut
Definition: EcalEleCalibLooper.h:105
edm::EDLooperBase::kStop
Definition: EDLooperBase.h:79
PVValHelper::eta
Definition: PVValidationHelpers.h:69
EcalEleCalibLooper::m_MapFiller
VFillMap * m_MapFiller
Definition: EcalEleCalibLooper.h:122
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
edm::ESHandle< CaloGeometry >
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
EcalEleCalibLooper::m_barrelMap
EcalIntercalibConstantMap m_barrelMap
the maps of recalib coeffs
Definition: EcalEleCalibLooper.h:114
EcalEleCalibLooper::m_phiEndEE
int m_phiEndEE
Definition: EcalEleCalibLooper.h:94
bsc_activity_cfg.EBnum
EBnum
Definition: bsc_activity_cfg.py:17
EcalEleCalibLooper::m_xtalNumOfHits
std::map< int, int > m_xtalNumOfHits
Definition: EcalEleCalibLooper.h:136
EcalEleCalibLooper::EEregionsNum
int EEregionsNum() const
DS Number of regions in EE.
Definition: EcalEleCalibLooper.cc:428
EEDetId
Definition: EEDetId.h:14
EcalEleCalibLooper::EBRegionId
int EBRegionId(const int, const int) const
Reg Id generator EB --— for the barrel.
Definition: EcalEleCalibLooper.cc:390
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalEndcap
Definition: EcalSubdetector.h:10
EcalEleCalibLooper::EBregionCheck
int EBregionCheck(const int eta, const int phi) const
Tells if you are in the region to be calibrated.
Definition: EcalEleCalibLooper.cc:344
IMACalibBlock
Definition: IMACalibBlock.h:22
edm::LogError
Definition: MessageLogger.h:183
EcalEleCalibLooper::m_EcalCalibBlocks
std::vector< VEcalCalibBlock * > m_EcalCalibBlocks
single blocks calibrators
Definition: EcalEleCalibLooper.h:101
EcalEleCalibLooper::isfirstcall_
bool isfirstcall_
Definition: EcalEleCalibLooper.h:138
EcalEleCalibLooper::m_phiEndEB
int m_phiEndEB
phi end of the region of interest
Definition: EcalEleCalibLooper.h:87
EcalEleCalibLooper::m_recoWindowSidey
int m_recoWindowSidey
Definition: EcalEleCalibLooper.h:69
qcdUeDQM_cfi.algorithm
algorithm
Definition: qcdUeDQM_cfi.py:32
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
EcalEleCalibLooper::m_loops
unsigned int m_loops
DS sets the number of loops to do.
Definition: EcalEleCalibLooper.h:118
iEvent
int iEvent
Definition: GenABIO.cc:224
EcalEleCalibLooper::etaShifter
int etaShifter(const int) const
LP Change the coordinate system.
Definition: EcalEleCalibLooper.cc:529
EcalEleCalibLooper::m_minEnergyPerCrystal
double m_minEnergyPerCrystal
minimum energy per crystal cut
Definition: EcalEleCalibLooper.h:103
EcalEleCalibLooper::m_maxCoeff
double m_maxCoeff
maximum coefficient accepted (RAW)
Definition: EcalEleCalibLooper.h:109
Max
T Max(T a, T b)
Definition: MathUtil.h:44
edm::EDLooperBase::kContinue
Definition: EDLooperBase.h:79
DetId::Ecal
Definition: DetId.h:27
get
#define get
bsc_activity_cfg.EEnum
EEnum
Definition: bsc_activity_cfg.py:19
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
EcalEleCalibLooper::m_ElectronLabel
edm::InputTag m_ElectronLabel
To take the electrons.
Definition: EcalEleCalibLooper.h:120
EcalEleCalibLooper::m_barrelAlCa
edm::InputTag m_barrelAlCa
EcalBarrel Input Collection name.
Definition: EcalEleCalibLooper.h:63
DDAxes::phi
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
L3CalibBlock
interface to the L3Univ class for testing
Definition: L3CalibBlock.h:24
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
EcalEleCalibLooper::m_etaStart
int m_etaStart
phi size of the additive border to the sub-matrix
Definition: EcalEleCalibLooper.h:81
MatrixFillMap
Definition: MatrixFillMap.h:7
EcalEleCalibLooper::m_radWidth
int m_radWidth
Definition: EcalEleCalibLooper.h:91
EcalEleCalibLooper::m_xtalRegionId
std::map< int, int > m_xtalRegionId
Definition: EcalEleCalibLooper.h:134
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
HLT_2018_cff.region
region
Definition: HLT_2018_cff.py:81479
VFillMap::fillMap
virtual void fillMap(const std::vector< std::pair< DetId, float > > &, const DetId, const EcalRecHitCollection *, const EcalRecHitCollection *, std::map< int, double > &xtlMap, double &)=0
The Map filler.
radiants
double radiants(int degrees)
DS def radiants.
Definition: EcalEleCalibLooper.cc:364
Ecal07UnpackerData_cfi.ics
ics
Definition: Ecal07UnpackerData_cfi.py:55
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
EcalEleCalibLooper::m_phiWidthEB
int m_phiWidthEB
eta size of the additive border to the sub-matrix
Definition: EcalEleCalibLooper.h:76
EEDetId::validDetId
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
beamvalidation.exit
def exit(msg="")
Definition: beamvalidation.py:53
EcalEleCalibLooper::m_recoWindowSidex
int m_recoWindowSidex
reconstruction window size
Definition: EcalEleCalibLooper.h:68
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
EcalEleCalibLooper::m_endcapCells
std::vector< DetId > m_endcapCells
Definition: EcalEleCalibLooper.h:132
edm::InputTag
Definition: InputTag.h:15
EcalEleCalibLooper::m_phiStartEB
int m_phiStartEB
phi start of the region of interest
Definition: EcalEleCalibLooper.h:85
EcalEleCalibLooper::EEregionCheck
int EEregionCheck(const int, const int) const
returns zero if the coordinates are in the right place.
Definition: EcalEleCalibLooper.cc:503
EcalEleCalibLooper::m_usingBlockSolver
int m_usingBlockSolver
to exclude the blocksolver
Definition: EcalEleCalibLooper.h:111
EcalEleCalibLooper::m_radStart
int m_radStart
DS For the EE.
Definition: EcalEleCalibLooper.h:89