CMS 3D CMS Logo

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

#include <PhiSymmetryCalibration.h>

Inheritance diagram for PhiSymmetryCalibration:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 Called at each event. More...
 
void beginJob () override
 Called at beginning of job. More...
 
void endJob () override
 Called at end of job. More...
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endRun (edm::Run const &, const edm::EventSetup &) override
 
 PhiSymmetryCalibration (const edm::ParameterSet &iConfig)
 Constructor. More...
 
void setUp (const edm::EventSetup &setup)
 
 ~PhiSymmetryCalibration () override
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void getKfactors ()
 

Private Attributes

double ap_
 
double b_
 
std::vector< DetIdbarrelCells
 
std::string barrelHits_
 
EcalGeomPhiSymHelper e_
 
std::vector< TH1F * > e_spectrum_b_histos
 
std::vector< TH1F * > e_spectrum_e_histos
 
std::string ecalHitsProducer_
 
double eCut_barl_
 
std::vector< DetIdendcapCells
 
std::string endcapHits_
 
float epsilon_M_barl [kBarlRings][kBarlWedges][kSides]
 
float epsilon_M_endc [kEndcWedgesX][kEndcWedgesY][kSides]
 
double esumMean_barl_ [kBarlRings]
 
double esumMean_endc_ [kEndcEtaRings]
 
std::vector< TH1F * > et_spectrum_b_histos
 
std::vector< TH1F * > et_spectrum_e_histos
 
double etsum_barl_ [kBarlRings][kBarlWedges][kSides]
 
double etsum_barl_miscal_ [kNMiscalBinsEB][kBarlRings]
 
double etsum_endc_ [kEndcWedgesX][kEndcWedgesX][kSides]
 
double etsum_endc_miscal_ [kNMiscalBinsEE][kEndcEtaRings]
 
double etsum_endc_uncorr [kEndcWedgesX][kEndcWedgesX][kSides]
 
double etsumMean_barl_ [kBarlRings]
 
double etsumMean_endc_ [kEndcEtaRings]
 
int eventSet_
 
int eventsinlb_
 
int eventsinrun_
 
bool isfirstpass_
 
double k_barl_ [kBarlRings]
 
double k_endc_ [kEndcEtaRings]
 
double miscalEB_ [kNMiscalBinsEB]
 
double miscalEE_ [kNMiscalBinsEE]
 
int nevents_
 
double newCalibs_barl [kBarlRings][kBarlWedges][kSides]
 
double newCalibs_endc [kEndcWedgesX][kEndcWedgesX][kSides]
 
unsigned int nhits_barl_ [kBarlRings][kBarlWedges][kSides]
 
unsigned int nhits_endc_ [kEndcWedgesX][kEndcWedgesX][kSides]
 
std::string oldcalibfile_
 
EcalIntercalibConstants oldCalibs_
 the old calibration constants (when reiterating, the last ones derived) More...
 
double oldCalibs_barl [kBarlRings][kBarlWedges][kSides]
 
double oldCalibs_endc [kEndcWedgesX][kEndcWedgesY][kSides]
 
float phi_endc [kMaxEndciPhi][kEndcEtaRings]
 
float rawconst_barl [kBarlRings][kBarlWedges][kSides]
 
float rawconst_endc [kEndcWedgesX][kEndcWedgesX][kSides]
 
bool reiteration_
 
bool spectra
 
int statusThreshold_
 threshold in channel status beyond which channel is marked bad More...
 

Static Private Attributes

static const int kMaxEndciPhi = 360
 
static const float kMiscalRangeEB = .05
 
static const float kMiscalRangeEE = .10
 
static const int kNMiscalBinsEB = 21
 
static const int kNMiscalBinsEE = 41
 

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 &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 34 of file PhiSymmetryCalibration.h.

Constructor & Destructor Documentation

◆ PhiSymmetryCalibration()

PhiSymmetryCalibration::PhiSymmetryCalibration ( const edm::ParameterSet iConfig)

Constructor.

Definition at line 49 of file PhiSymmetryCalibration.cc.

50  :
51 
52  ecalHitsProducer_(iConfig.getParameter<std::string>("ecalRecHitsProducer")),
53  barrelHits_(iConfig.getParameter<std::string>("barrelHitCollection")),
54  endcapHits_(iConfig.getParameter<std::string>("endcapHitCollection")),
55  eCut_barl_(iConfig.getParameter<double>("eCut_barrel")),
56  ap_(iConfig.getParameter<double>("ap")),
57  b_(iConfig.getParameter<double>("b")),
58  eventSet_(iConfig.getParameter<int>("eventSet")),
59  statusThreshold_(iConfig.getUntrackedParameter<int>("statusThreshold", 3)),
60  reiteration_(iConfig.getUntrackedParameter<bool>("reiteration", false)),
61  oldcalibfile_(iConfig.getUntrackedParameter<std::string>("oldcalibfile", "EcalintercalibConstants.xml")) {
62  isfirstpass_ = true;
63 
68 
69  spectra = true;
70 
71  nevents_ = 0;
72  eventsinrun_ = 0;
73  eventsinlb_ = 0;
74 }

References e_spectrum_b_histos, e_spectrum_e_histos, et_spectrum_b_histos, et_spectrum_e_histos, eventsinlb_, eventsinrun_, isfirstpass_, kBarlRings, kEndcEtaRings, nevents_, and spectra.

◆ ~PhiSymmetryCalibration()

PhiSymmetryCalibration::~PhiSymmetryCalibration ( )
override

Destructor.

Definition at line 79 of file PhiSymmetryCalibration.cc.

79  {
80  for (Int_t i = 0; i < kBarlRings; i++) {
81  delete et_spectrum_b_histos[i];
82  delete e_spectrum_b_histos[i];
83  }
84  for (Int_t i = 0; i < kEndcEtaRings; i++) {
85  delete et_spectrum_e_histos[i];
86  delete e_spectrum_e_histos[i];
87  }
88 }

References e_spectrum_b_histos, e_spectrum_e_histos, et_spectrum_b_histos, et_spectrum_e_histos, mps_fire::i, kBarlRings, and kEndcEtaRings.

Member Function Documentation

◆ analyze()

void PhiSymmetryCalibration::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

Called at each event.

Implements edm::EDAnalyzer.

Definition at line 230 of file PhiSymmetryCalibration.cc.

230  {
231  using namespace edm;
232  using namespace std;
233 
234  if (isfirstpass_) {
235  setUp(setup);
236  isfirstpass_ = false;
237  }
238 
239  Handle<EBRecHitCollection> barrelRecHitsHandle;
240  Handle<EERecHitCollection> endcapRecHitsHandle;
241 
242  event.getByLabel(ecalHitsProducer_, barrelHits_, barrelRecHitsHandle);
243  if (!barrelRecHitsHandle.isValid()) {
244  LogError("") << "[PhiSymmetryCalibration] Error! Can't get product!" << std::endl;
245  }
246 
247  event.getByLabel(ecalHitsProducer_, endcapHits_, endcapRecHitsHandle);
248  if (!endcapRecHitsHandle.isValid()) {
249  LogError("") << "[PhiSymmetryCalibration] Error! Can't get product!" << std::endl;
250  }
251 
252  // get the ecal geometry
253  edm::ESHandle<CaloGeometry> geoHandle;
254  setup.get<CaloGeometryRecord>().get(geoHandle);
255  const CaloSubdetectorGeometry* barrelGeometry = geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalBarrel);
256  const CaloSubdetectorGeometry* endcapGeometry = geoHandle->getSubdetectorGeometry(DetId::Ecal, EcalEndcap);
257 
258  bool pass = false;
259  // select interesting EcalRecHits (barrel)
261  for (itb = barrelRecHitsHandle->begin(); itb != barrelRecHitsHandle->end(); itb++) {
262  EBDetId hit = EBDetId(itb->id());
263  float eta = barrelGeometry->getGeometry(hit)->getPosition().eta();
264  float et = itb->energy() / cosh(eta);
265  float e = itb->energy();
266 
267  // if iterating, correct by the previous calib constants found,
268  // which are supplied in the form of correction
269  if (reiteration_) {
270  et = et * oldCalibs_[hit];
271  e = e * oldCalibs_[hit];
272  }
273 
274  float et_thr = eCut_barl_ / cosh(eta) + 1.;
275 
276  int sign = hit.ieta() > 0 ? 1 : 0;
277 
278  if (e > eCut_barl_ && et < et_thr && e_.goodCell_barl[abs(hit.ieta()) - 1][hit.iphi() - 1][sign]) {
279  etsum_barl_[abs(hit.ieta()) - 1][hit.iphi() - 1][sign] += et;
280  nhits_barl_[abs(hit.ieta()) - 1][hit.iphi() - 1][sign]++;
281  pass = true;
282  } //if energy
283 
284  if (eventSet_ == 1) {
285  // apply a miscalibration to all crystals and increment the
286  // ET sum, combined for all crystals
287  for (int imiscal = 0; imiscal < kNMiscalBinsEB; imiscal++) {
288  if (miscalEB_[imiscal] * e > eCut_barl_ && miscalEB_[imiscal] * et < et_thr &&
289  e_.goodCell_barl[abs(hit.ieta()) - 1][hit.iphi() - 1][sign]) {
290  etsum_barl_miscal_[imiscal][abs(hit.ieta()) - 1] += miscalEB_[imiscal] * et;
291  }
292  }
293 
294  // spectra stuff
295  if (spectra && hit.ieta() > 0) //POSITIVE!!!
296  // if(spectra && hit.ieta()<0) //NEGATIVE!!!
297  {
298  et_spectrum_b_histos[abs(hit.ieta()) - 1]->Fill(et * 1000.);
299  e_spectrum_b_histos[abs(hit.ieta()) - 1]->Fill(e * 1000.);
300  } //if spectra
301 
302  } //if eventSet_==1
303  } //for barl
304 
305  // select interesting EcalRecHits (endcaps)
307  for (ite = endcapRecHitsHandle->begin(); ite != endcapRecHitsHandle->end(); ite++) {
308  EEDetId hit = EEDetId(ite->id());
309  float eta = abs(endcapGeometry->getGeometry(hit)->getPosition().eta());
310  //float phi = endcapGeometry->getGeometry(hit)->getPosition().phi();
311 
312  float et = ite->energy() / cosh(eta);
313  float e = ite->energy();
314 
315  // if iterating, multiply by the previous correction factor
316  if (reiteration_) {
317  et = et * oldCalibs_[hit];
318  e = e * oldCalibs_[hit];
319  }
320 
321  int sign = hit.zside() > 0 ? 1 : 0;
322 
323  // changes of eCut_endc_ -> variable linearthr
324  // e_cut = ap + eta_ring*b
325 
326  double eCut_endc = 0;
327  for (int ring = 0; ring < kEndcEtaRings; ring++) {
328  if (eta > e_.etaBoundary_[ring] && eta < e_.etaBoundary_[ring + 1]) {
329  float eta_ring = abs(e_.cellPos_[ring][50].eta());
330  eCut_endc = ap_ + eta_ring * b_;
331  }
332  }
333 
334  float et_thr = eCut_endc / cosh(eta) + 1.;
335 
336  if (e > eCut_endc && et < et_thr && e_.goodCell_endc[hit.ix() - 1][hit.iy() - 1][sign]) {
337  etsum_endc_[hit.ix() - 1][hit.iy() - 1][sign] += et;
338  nhits_endc_[hit.ix() - 1][hit.iy() - 1][sign]++;
339  pass = true;
340  }
341 
342  if (eventSet_ == 1) {
343  // apply a miscalibration to all crystals and increment the
344  // ET sum, combined for all crystals
345  for (int imiscal = 0; imiscal < kNMiscalBinsEE; imiscal++) {
346  if (miscalEE_[imiscal] * e > eCut_endc && et * miscalEE_[imiscal] < et_thr &&
347  e_.goodCell_endc[hit.ix() - 1][hit.iy() - 1][sign]) {
348  int ring = e_.endcapRing_[hit.ix() - 1][hit.iy() - 1];
349  etsum_endc_miscal_[imiscal][ring] += miscalEE_[imiscal] * et;
350  }
351  }
352 
353  // spectra stuff
354  if (spectra && hit.zside() > 0) //POSITIVE!!!
355 
356  {
357  int ring = e_.endcapRing_[hit.ix() - 1][hit.iy() - 1];
358 
359  et_spectrum_e_histos[ring]->Fill(et * 1000.);
360  e_spectrum_e_histos[ring]->Fill(e * 1000.);
361 
362  if (ring == 16) {
363  //int iphi_endc = 0;
364  for (int ip = 0; ip < e_.nRing_[ring]; ip++) {
365  //if (phi==e_.phi_endc_[ip][ring]) iphi_endc=ip;
366  }
367  }
368  } //if spectra
369 
370  } //if eventSet_==1
371  } //for endc
372 
373  if (pass) {
374  nevents_++;
375  eventsinrun_++;
376  eventsinlb_++;
377  }
378 }

References funct::abs(), ap_, b_, barrelHits_, edm::SortedCollection< T, SORT >::begin(), EcalGeomPhiSymHelper::cellPos_, MillePedeFileConverter_cfg::e, e_, e_spectrum_b_histos, e_spectrum_e_histos, DetId::Ecal, EcalBarrel, EcalEndcap, ecalHitsProducer_, eCut_barl_, edm::SortedCollection< T, SORT >::end(), endcapHits_, EcalGeomPhiSymHelper::endcapRing_, EgHLTOffHistBins_cfi::et, et_spectrum_b_histos, et_spectrum_e_histos, PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), EcalGeomPhiSymHelper::etaBoundary_, etsum_barl_, etsum_barl_miscal_, etsum_endc_, etsum_endc_miscal_, eventSet_, eventsinlb_, eventsinrun_, HcalObjRepresent::Fill(), get, CaloSubdetectorGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), EcalGeomPhiSymHelper::goodCell_barl, EcalGeomPhiSymHelper::goodCell_endc, isfirstpass_, edm::HandleBase::isValid(), kEndcEtaRings, kNMiscalBinsEB, kNMiscalBinsEE, miscalEB_, miscalEE_, nevents_, nhits_barl_, nhits_endc_, EcalGeomPhiSymHelper::nRing_, oldCalibs_, reiteration_, relativeConstraints::ring, singleTopDQM_cfi::setup, setUp(), Validation_hcalonly_cfi::sign, and spectra.

◆ beginJob()

void PhiSymmetryCalibration::beginJob ( void  )
overridevirtual

Called at beginning of job.

Reimplemented from edm::EDAnalyzer.

Definition at line 93 of file PhiSymmetryCalibration.cc.

93  {
94  // initialize arrays
95  for (int sign = 0; sign < kSides; sign++) {
96  for (int ieta = 0; ieta < kBarlRings; ieta++) {
97  for (int iphi = 0; iphi < kBarlWedges; iphi++) {
98  etsum_barl_[ieta][iphi][sign] = 0.;
99  nhits_barl_[ieta][iphi][sign] = 0;
100  }
101  }
102  for (int ix = 0; ix < kEndcWedgesX; ix++) {
103  for (int iy = 0; iy < kEndcWedgesY; iy++) {
104  etsum_endc_[ix][iy][sign] = 0.;
105  nhits_endc_[ix][iy][sign] = 0;
106  }
107  }
108  }
109 
110  for (int imiscal = 0; imiscal < kNMiscalBinsEB; imiscal++) {
111  miscalEB_[imiscal] = (1 - kMiscalRangeEB) + float(imiscal) * (2 * kMiscalRangeEB / (kNMiscalBinsEB - 1));
112  for (int ieta = 0; ieta < kBarlRings; ieta++)
113  etsum_barl_miscal_[imiscal][ieta] = 0.;
114  }
115 
116  for (int imiscal = 0; imiscal < kNMiscalBinsEE; imiscal++) {
117  miscalEE_[imiscal] = (1 - kMiscalRangeEE) + float(imiscal) * (2 * kMiscalRangeEE / (kNMiscalBinsEE - 1));
118  for (int ring = 0; ring < kEndcEtaRings; ring++)
119  etsum_endc_miscal_[imiscal][ring] = 0.;
120  }
121 
122  // start spectra stuff
123  if (eventSet_ != 1)
124  spectra = false;
125 
126  if (spectra) {
127  ostringstream t;
128  for (Int_t i = 0; i < kBarlRings; i++) {
129  t << "et_spectrum_b_" << i + 1;
130  et_spectrum_b_histos[i] = new TH1F(t.str().c_str(), ";E_{T} [MeV]", 50, 0., 500.);
131  t.str("");
132 
133  t << "e_spectrum_b_" << i + 1;
134  e_spectrum_b_histos[i] = new TH1F(t.str().c_str(), ";E [MeV]", 50, 0., 500.);
135  t.str("");
136  }
137  for (Int_t i = 0; i < kEndcEtaRings; i++) {
138  t << "et_spectrum_e_" << i + 1;
139  et_spectrum_e_histos[i] = new TH1F(t.str().c_str(), ";E_{T} [MeV]", 75, 0., 1500.);
140  t.str("");
141 
142  t << "e_spectrum_e_" << i + 1;
143  e_spectrum_e_histos[i] = new TH1F(t.str().c_str(), ";E [MeV]", 75, 0., 1500.);
144  t.str("");
145  }
146  }
147  // end spectra stuff
148 }

References e_spectrum_b_histos, e_spectrum_e_histos, et_spectrum_b_histos, et_spectrum_e_histos, etsum_barl_, etsum_barl_miscal_, etsum_endc_, etsum_endc_miscal_, eventSet_, mps_fire::i, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, kBarlRings, kBarlWedges, kEndcEtaRings, kEndcWedgesX, kEndcWedgesY, kMiscalRangeEB, kMiscalRangeEE, kNMiscalBinsEB, kNMiscalBinsEE, kSides, miscalEB_, miscalEE_, nhits_barl_, nhits_endc_, relativeConstraints::ring, Validation_hcalonly_cfi::sign, spectra, and submitPVValidationJobs::t.

◆ endJob()

void PhiSymmetryCalibration::endJob ( void  )
overridevirtual

Called at end of job.

Reimplemented from edm::EDAnalyzer.

Definition at line 153 of file PhiSymmetryCalibration.cc.

153  {
154  edm::LogInfo("Calibration") << "[PhiSymmetryCalibration] At end of job";
155 
156  // start spectra stuff
157  if (spectra) {
158  TFile f("Espectra_plus.root", "recreate");
159 
160  for (int i = 0; i < kBarlRings; i++) {
161  et_spectrum_b_histos[i]->Write();
162  e_spectrum_b_histos[i]->Write();
163  }
164 
165  for (int i = 0; i < kEndcEtaRings; i++) {
166  et_spectrum_e_histos[i]->Write();
167  e_spectrum_e_histos[i]->Write();
168  }
169 
170  f.Close();
171  }
172 
173  if (eventSet_ == 1) {
174  // calculate factors to convert from fractional deviation of ET sum from
175  // the mean to the estimate of the miscalibration factor
176  getKfactors();
177 
178  std::ofstream k_barl_out("k_barl.dat", ios::out);
179  for (int ieta = 0; ieta < kBarlRings; ieta++)
180  k_barl_out << ieta << " " << k_barl_[ieta] << endl;
181  k_barl_out.close();
182 
183  std::ofstream k_endc_out("k_endc.dat", ios::out);
184  for (int ring = 0; ring < kEndcEtaRings; ring++)
185  k_endc_out << ring << " " << k_endc_[ring] << endl;
186  k_endc_out.close();
187  }
188 
189  if (eventSet_ != 0) {
190  // output ET sums
191 
192  stringstream etsum_file_barl;
193  etsum_file_barl << "etsum_barl_" << eventSet_ << ".dat";
194 
195  std::ofstream etsum_barl_out(etsum_file_barl.str().c_str(), ios::out);
196 
197  for (int ieta = 0; ieta < kBarlRings; ieta++) {
198  for (int iphi = 0; iphi < kBarlWedges; iphi++) {
199  for (int sign = 0; sign < kSides; sign++) {
200  etsum_barl_out << eventSet_ << " " << ieta << " " << iphi << " " << sign << " "
201  << etsum_barl_[ieta][iphi][sign] << " " << nhits_barl_[ieta][iphi][sign] << endl;
202  }
203  }
204  }
205  etsum_barl_out.close();
206 
207  stringstream etsum_file_endc;
208  etsum_file_endc << "etsum_endc_" << eventSet_ << ".dat";
209 
210  std::ofstream etsum_endc_out(etsum_file_endc.str().c_str(), ios::out);
211  for (int ix = 0; ix < kEndcWedgesX; ix++) {
212  for (int iy = 0; iy < kEndcWedgesY; iy++) {
213  int ring = e_.endcapRing_[ix][iy];
214  if (ring != -1) {
215  for (int sign = 0; sign < kSides; sign++) {
216  etsum_endc_out << eventSet_ << " " << ix << " " << iy << " " << sign << " " << etsum_endc_[ix][iy][sign]
217  << " " << nhits_endc_[ix][iy][sign] << " " << e_.endcapRing_[ix][iy] << endl;
218  }
219  }
220  }
221  }
222  etsum_endc_out.close();
223  }
224  cout << "Events processed " << nevents_ << endl;
225 }

References gather_cfg::cout, e_, e_spectrum_b_histos, e_spectrum_e_histos, EcalGeomPhiSymHelper::endcapRing_, et_spectrum_b_histos, et_spectrum_e_histos, etsum_barl_, etsum_endc_, eventSet_, f, getKfactors(), mps_fire::i, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, k_barl_, k_endc_, kBarlRings, kBarlWedges, kEndcEtaRings, kEndcWedgesX, kEndcWedgesY, kSides, nevents_, nhits_barl_, nhits_endc_, MillePedeFileConverter_cfg::out, relativeConstraints::ring, Validation_hcalonly_cfi::sign, and spectra.

Referenced by o2olib.O2ORunMgr::executeJob().

◆ endLuminosityBlock()

void PhiSymmetryCalibration::endLuminosityBlock ( edm::LuminosityBlock const &  lb,
edm::EventSetup const &   
)
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 511 of file PhiSymmetryCalibration.cc.

511  {
512  if ((lb.endTime().value() >> 32) - (lb.beginTime().value() >> 32) < 60)
513  return;
514 
515  std::cout << "PHILB : run " << lb.run() << " id " << lb.id() << " start " << (lb.beginTime().value() >> 32) << " end "
516  << (lb.endTime().value() >> 32) << " dur " << (lb.endTime().value() >> 32) - (lb.beginTime().value() >> 32)
517 
518  << " npass " << eventsinlb_ << std::endl;
519 
520  eventsinlb_ = 0;
521 }

References edm::LuminosityBlockBase::beginTime(), gather_cfg::cout, edm::LuminosityBlockBase::endTime(), eventsinlb_, edm::LuminosityBlockBase::id(), edm::LuminosityBlockBase::run(), and edm::Timestamp::value().

◆ endRun()

void PhiSymmetryCalibration::endRun ( edm::Run const &  run,
const edm::EventSetup  
)
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 380 of file PhiSymmetryCalibration.cc.

380  {
381  std::cout << "PHIREPRT : run " << run.run() << " start " << (run.beginTime().value() >> 32) << " end "
382  << (run.endTime().value() >> 32) << " dur "
383  << (run.endTime().value() >> 32) - (run.beginTime().value() >> 32)
384 
385  << " npass " << eventsinrun_ << std::endl;
386  eventsinrun_ = 0;
387 
388  return;
389 }

References gather_cfg::cout, eventsinrun_, and writedatasetfile::run.

◆ getKfactors()

void PhiSymmetryCalibration::getKfactors ( )
private

Definition at line 393 of file PhiSymmetryCalibration.cc.

393  {
394  float epsilon_T_eb[kNMiscalBinsEB];
395  float epsilon_M_eb[kNMiscalBinsEB];
396 
397  float epsilon_T_ee[kNMiscalBinsEE];
398  float epsilon_M_ee[kNMiscalBinsEE];
399 
400  std::vector<TGraph*> k_barl_graph(kBarlRings);
401  std::vector<TCanvas*> k_barl_plot(kBarlRings);
402 
403  //Create our own TF1 to avoid threading problems
404  TF1 mypol1("mypol1", "pol1");
405  for (int ieta = 0; ieta < kBarlRings; ieta++) {
406  for (int imiscal = 0; imiscal < kNMiscalBinsEB; imiscal++) {
407  int middlebin = int(kNMiscalBinsEB / 2);
408  epsilon_T_eb[imiscal] = etsum_barl_miscal_[imiscal][ieta] / etsum_barl_miscal_[middlebin][ieta] - 1.;
409  epsilon_M_eb[imiscal] = miscalEB_[imiscal] - 1.;
410  }
411  k_barl_graph[ieta] = new TGraph(kNMiscalBinsEB, epsilon_M_eb, epsilon_T_eb);
412  k_barl_graph[ieta]->Fit(&mypol1);
413 
414  ostringstream t;
415  t << "k_barl_" << ieta + 1;
416  k_barl_plot[ieta] = new TCanvas(t.str().c_str(), "");
417  k_barl_plot[ieta]->SetFillColor(10);
418  k_barl_plot[ieta]->SetGrid();
419  k_barl_graph[ieta]->SetMarkerSize(1.);
420  k_barl_graph[ieta]->SetMarkerColor(4);
421  k_barl_graph[ieta]->SetMarkerStyle(20);
422  k_barl_graph[ieta]->GetXaxis()->SetLimits(-1. * kMiscalRangeEB, kMiscalRangeEB);
423  k_barl_graph[ieta]->GetXaxis()->SetTitleSize(.05);
424  k_barl_graph[ieta]->GetYaxis()->SetTitleSize(.05);
425  k_barl_graph[ieta]->GetXaxis()->SetTitle("#epsilon_{M}");
426  k_barl_graph[ieta]->GetYaxis()->SetTitle("#epsilon_{T}");
427  k_barl_graph[ieta]->Draw("AP");
428 
429  k_barl_[ieta] = k_barl_graph[ieta]->GetFunction("pol1")->GetParameter(1);
430  std::cout << "k_barl_[" << ieta << "]=" << k_barl_[ieta] << std::endl;
431  }
432 
433  std::vector<TGraph*> k_endc_graph(kEndcEtaRings);
434  std::vector<TCanvas*> k_endc_plot(kEndcEtaRings);
435 
436  for (int ring = 0; ring < kEndcEtaRings; ring++) {
437  for (int imiscal = 0; imiscal < kNMiscalBinsEE; imiscal++) {
438  int middlebin = int(kNMiscalBinsEE / 2);
439  epsilon_T_ee[imiscal] = etsum_endc_miscal_[imiscal][ring] / etsum_endc_miscal_[middlebin][ring] - 1.;
440  epsilon_M_ee[imiscal] = miscalEE_[imiscal] - 1.;
441  }
442  k_endc_graph[ring] = new TGraph(kNMiscalBinsEE, epsilon_M_ee, epsilon_T_ee);
443  k_endc_graph[ring]->Fit(&mypol1);
444 
445  ostringstream t;
446  t << "k_endc_" << ring + 1;
447  k_endc_plot[ring] = new TCanvas(t.str().c_str(), "");
448  k_endc_plot[ring]->SetFillColor(10);
449  k_endc_plot[ring]->SetGrid();
450  k_endc_graph[ring]->SetMarkerSize(1.);
451  k_endc_graph[ring]->SetMarkerColor(4);
452  k_endc_graph[ring]->SetMarkerStyle(20);
453  k_endc_graph[ring]->GetXaxis()->SetLimits(-1 * kMiscalRangeEE, kMiscalRangeEE);
454  k_endc_graph[ring]->GetXaxis()->SetTitleSize(.05);
455  k_endc_graph[ring]->GetYaxis()->SetTitleSize(.05);
456  k_endc_graph[ring]->GetXaxis()->SetTitle("#epsilon_{M}");
457  k_endc_graph[ring]->GetYaxis()->SetTitle("#epsilon_{T}");
458  k_endc_graph[ring]->Draw("AP");
459 
460  k_endc_[ring] = k_endc_graph[ring]->GetFunction("pol1")->GetParameter(1);
461  std::cout << "k_endc_[" << ring << "]=" << k_endc_[ring] << std::endl;
462  }
463 
464  TFile f("PhiSymmetryCalibration_kFactors.root", "recreate");
465  for (int ieta = 0; ieta < kBarlRings; ieta++) {
466  k_barl_plot[ieta]->Write();
467  delete k_barl_plot[ieta];
468  delete k_barl_graph[ieta];
469  }
470  for (int ring = 0; ring < kEndcEtaRings; ring++) {
471  k_endc_plot[ring]->Write();
472  delete k_endc_plot[ring];
473  delete k_endc_graph[ring];
474  }
475  f.Close();
476 }

References gather_cfg::cout, etsum_barl_miscal_, etsum_endc_miscal_, f, LEDCalibrationChannels::ieta, createfilelist::int, k_barl_, k_endc_, kBarlRings, kEndcEtaRings, kMiscalRangeEB, kMiscalRangeEE, kNMiscalBinsEB, kNMiscalBinsEE, miscalEB_, miscalEE_, relativeConstraints::ring, submitPVValidationJobs::t, and tools::TF1.

Referenced by endJob().

◆ setUp()

void PhiSymmetryCalibration::setUp ( const edm::EventSetup setup)

Definition at line 480 of file PhiSymmetryCalibration.cc.

480  {
482  setup.get<EcalChannelStatusRcd>().get(chStatus);
483 
484  edm::ESHandle<CaloGeometry> geoHandle;
485  setup.get<CaloGeometryRecord>().get(geoHandle);
486 
487  e_.setup(&(*geoHandle), &(*chStatus), statusThreshold_);
488 
489  if (reiteration_) {
491  // namespace fs = boost::filesystem;
492  // fs::path p(oldcalibfile_.c_str(),fs::native);
493  // if (!fs::exists(p)) edm::LogError("PhiSym") << "File not found: "
494  // << oldcalibfile_ <<endl;
495 
496  edm::FileInPath fip("Calibration/EcalCalibAlgos/data/" + oldcalibfile_);
497 
499  if (ret)
500  edm::LogError("PhiSym") << "Error reading XML files" << endl;
501  ;
502 
503  } else {
504  // in fact if not reiterating, oldCalibs_ will never be used
506  setup.get<EcalIntercalibConstantsRcd>().get(pIcal);
507  oldCalibs_ = *pIcal;
508  }
509 }

References e_, edm::FileInPath::fullPath(), get, h, oldcalibfile_, oldCalibs_, EcalFloatCondObjectContainerXMLTranslator::readXML(), reiteration_, runTheMatrix::ret, EcalGeomPhiSymHelper::setup(), singleTopDQM_cfi::setup, and statusThreshold_.

Referenced by analyze().

Member Data Documentation

◆ ap_

double PhiSymmetryCalibration::ap_
private

Definition at line 122 of file PhiSymmetryCalibration.h.

Referenced by analyze().

◆ b_

double PhiSymmetryCalibration::b_
private

Definition at line 123 of file PhiSymmetryCalibration.h.

Referenced by analyze().

◆ barrelCells

std::vector<DetId> PhiSymmetryCalibration::barrelCells
private

Definition at line 93 of file PhiSymmetryCalibration.h.

◆ barrelHits_

std::string PhiSymmetryCalibration::barrelHits_
private

Definition at line 115 of file PhiSymmetryCalibration.h.

Referenced by analyze().

◆ e_

EcalGeomPhiSymHelper PhiSymmetryCalibration::e_
private

Definition at line 69 of file PhiSymmetryCalibration.h.

Referenced by analyze(), endJob(), and setUp().

◆ e_spectrum_b_histos

std::vector<TH1F*> PhiSymmetryCalibration::e_spectrum_b_histos
private

◆ e_spectrum_e_histos

std::vector<TH1F*> PhiSymmetryCalibration::e_spectrum_e_histos
private

◆ ecalHitsProducer_

std::string PhiSymmetryCalibration::ecalHitsProducer_
private

Definition at line 114 of file PhiSymmetryCalibration.h.

Referenced by analyze().

◆ eCut_barl_

double PhiSymmetryCalibration::eCut_barl_
private

Definition at line 119 of file PhiSymmetryCalibration.h.

Referenced by analyze().

◆ endcapCells

std::vector<DetId> PhiSymmetryCalibration::endcapCells
private

Definition at line 94 of file PhiSymmetryCalibration.h.

◆ endcapHits_

std::string PhiSymmetryCalibration::endcapHits_
private

Definition at line 116 of file PhiSymmetryCalibration.h.

Referenced by analyze().

◆ epsilon_M_barl

float PhiSymmetryCalibration::epsilon_M_barl[kBarlRings][kBarlWedges][kSides]
private

Definition at line 105 of file PhiSymmetryCalibration.h.

◆ epsilon_M_endc

float PhiSymmetryCalibration::epsilon_M_endc[kEndcWedgesX][kEndcWedgesY][kSides]
private

Definition at line 106 of file PhiSymmetryCalibration.h.

◆ esumMean_barl_

double PhiSymmetryCalibration::esumMean_barl_[kBarlRings]
private

Definition at line 84 of file PhiSymmetryCalibration.h.

◆ esumMean_endc_

double PhiSymmetryCalibration::esumMean_endc_[kEndcEtaRings]
private

Definition at line 85 of file PhiSymmetryCalibration.h.

◆ et_spectrum_b_histos

std::vector<TH1F*> PhiSymmetryCalibration::et_spectrum_b_histos
private

◆ et_spectrum_e_histos

std::vector<TH1F*> PhiSymmetryCalibration::et_spectrum_e_histos
private

◆ etsum_barl_

double PhiSymmetryCalibration::etsum_barl_[kBarlRings][kBarlWedges][kSides]
private

Definition at line 72 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and endJob().

◆ etsum_barl_miscal_

double PhiSymmetryCalibration::etsum_barl_miscal_[kNMiscalBinsEB][kBarlRings]
private

Definition at line 81 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and getKfactors().

◆ etsum_endc_

double PhiSymmetryCalibration::etsum_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
private

Definition at line 73 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and endJob().

◆ etsum_endc_miscal_

double PhiSymmetryCalibration::etsum_endc_miscal_[kNMiscalBinsEE][kEndcEtaRings]
private

Definition at line 82 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and getKfactors().

◆ etsum_endc_uncorr

double PhiSymmetryCalibration::etsum_endc_uncorr[kEndcWedgesX][kEndcWedgesX][kSides]
private

Definition at line 74 of file PhiSymmetryCalibration.h.

◆ etsumMean_barl_

double PhiSymmetryCalibration::etsumMean_barl_[kBarlRings]
private

Definition at line 75 of file PhiSymmetryCalibration.h.

◆ etsumMean_endc_

double PhiSymmetryCalibration::etsumMean_endc_[kEndcEtaRings]
private

Definition at line 76 of file PhiSymmetryCalibration.h.

◆ eventSet_

int PhiSymmetryCalibration::eventSet_
private

Definition at line 125 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and endJob().

◆ eventsinlb_

int PhiSymmetryCalibration::eventsinlb_
private

Definition at line 150 of file PhiSymmetryCalibration.h.

Referenced by analyze(), endLuminosityBlock(), and PhiSymmetryCalibration().

◆ eventsinrun_

int PhiSymmetryCalibration::eventsinrun_
private

Definition at line 149 of file PhiSymmetryCalibration.h.

Referenced by analyze(), endRun(), and PhiSymmetryCalibration().

◆ isfirstpass_

bool PhiSymmetryCalibration::isfirstpass_
private

Definition at line 139 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and PhiSymmetryCalibration().

◆ k_barl_

double PhiSymmetryCalibration::k_barl_[kBarlRings]
private

Definition at line 88 of file PhiSymmetryCalibration.h.

Referenced by endJob(), and getKfactors().

◆ k_endc_

double PhiSymmetryCalibration::k_endc_[kEndcEtaRings]
private

Definition at line 89 of file PhiSymmetryCalibration.h.

Referenced by endJob(), and getKfactors().

◆ kMaxEndciPhi

const int PhiSymmetryCalibration::kMaxEndciPhi = 360
staticprivate

Definition at line 129 of file PhiSymmetryCalibration.h.

◆ kMiscalRangeEB

const float PhiSymmetryCalibration::kMiscalRangeEB = .05
staticprivate

Definition at line 64 of file PhiSymmetryCalibration.h.

Referenced by beginJob(), and getKfactors().

◆ kMiscalRangeEE

const float PhiSymmetryCalibration::kMiscalRangeEE = .10
staticprivate

Definition at line 67 of file PhiSymmetryCalibration.h.

Referenced by beginJob(), and getKfactors().

◆ kNMiscalBinsEB

const int PhiSymmetryCalibration::kNMiscalBinsEB = 21
staticprivate

Definition at line 63 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and getKfactors().

◆ kNMiscalBinsEE

const int PhiSymmetryCalibration::kNMiscalBinsEE = 41
staticprivate

Definition at line 66 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and getKfactors().

◆ miscalEB_

double PhiSymmetryCalibration::miscalEB_[kNMiscalBinsEB]
private

Definition at line 90 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and getKfactors().

◆ miscalEE_

double PhiSymmetryCalibration::miscalEE_[kNMiscalBinsEE]
private

Definition at line 91 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and getKfactors().

◆ nevents_

int PhiSymmetryCalibration::nevents_
private

Definition at line 148 of file PhiSymmetryCalibration.h.

Referenced by analyze(), endJob(), and PhiSymmetryCalibration().

◆ newCalibs_barl

double PhiSymmetryCalibration::newCalibs_barl[kBarlRings][kBarlWedges][kSides]
private

Definition at line 101 of file PhiSymmetryCalibration.h.

◆ newCalibs_endc

double PhiSymmetryCalibration::newCalibs_endc[kEndcWedgesX][kEndcWedgesX][kSides]
private

Definition at line 102 of file PhiSymmetryCalibration.h.

◆ nhits_barl_

unsigned int PhiSymmetryCalibration::nhits_barl_[kBarlRings][kBarlWedges][kSides]
private

Definition at line 78 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and endJob().

◆ nhits_endc_

unsigned int PhiSymmetryCalibration::nhits_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
private

Definition at line 79 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), and endJob().

◆ oldcalibfile_

std::string PhiSymmetryCalibration::oldcalibfile_
private

Definition at line 134 of file PhiSymmetryCalibration.h.

Referenced by setUp().

◆ oldCalibs_

EcalIntercalibConstants PhiSymmetryCalibration::oldCalibs_
private

the old calibration constants (when reiterating, the last ones derived)

Definition at line 137 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and setUp().

◆ oldCalibs_barl

double PhiSymmetryCalibration::oldCalibs_barl[kBarlRings][kBarlWedges][kSides]
private

Definition at line 97 of file PhiSymmetryCalibration.h.

◆ oldCalibs_endc

double PhiSymmetryCalibration::oldCalibs_endc[kEndcWedgesX][kEndcWedgesY][kSides]
private

Definition at line 98 of file PhiSymmetryCalibration.h.

◆ phi_endc

float PhiSymmetryCalibration::phi_endc[kMaxEndciPhi][kEndcEtaRings]
private

Definition at line 131 of file PhiSymmetryCalibration.h.

◆ rawconst_barl

float PhiSymmetryCalibration::rawconst_barl[kBarlRings][kBarlWedges][kSides]
private

Definition at line 109 of file PhiSymmetryCalibration.h.

◆ rawconst_endc

float PhiSymmetryCalibration::rawconst_endc[kEndcWedgesX][kEndcWedgesX][kSides]
private

Definition at line 110 of file PhiSymmetryCalibration.h.

◆ reiteration_

bool PhiSymmetryCalibration::reiteration_
private

Definition at line 133 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and setUp().

◆ spectra

bool PhiSymmetryCalibration::spectra
private

Definition at line 147 of file PhiSymmetryCalibration.h.

Referenced by analyze(), beginJob(), endJob(), and PhiSymmetryCalibration().

◆ statusThreshold_

int PhiSymmetryCalibration::statusThreshold_
private

threshold in channel status beyond which channel is marked bad

Definition at line 127 of file PhiSymmetryCalibration.h.

Referenced by setUp().

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:373
PhiSymmetryCalibration::ap_
double ap_
Definition: PhiSymmetryCalibration.h:122
kBarlRings
static const int kBarlRings
Definition: EcalGeomPhiSymHelper.h:7
mps_fire.i
i
Definition: mps_fire.py:428
edm::SortedCollection< EcalRecHit >::const_iterator
std::vector< EcalRecHit >::const_iterator const_iterator
Definition: SortedCollection.h:80
PhiSymmetryCalibration::getKfactors
void getKfactors()
Definition: PhiSymmetryCalibration.cc:393
PhiSymmetryCalibration::nhits_endc_
unsigned int nhits_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
Definition: PhiSymmetryCalibration.h:79
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
EBDetId
Definition: EBDetId.h:17
edm
HLT enums.
Definition: AlignableModifier.h:19
h
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
Definition: L1TUtmAlgorithmRcd.h:4
gather_cfg.cout
cout
Definition: gather_cfg.py:144
PhiSymmetryCalibration::etsum_barl_
double etsum_barl_[kBarlRings][kBarlWedges][kSides]
Definition: PhiSymmetryCalibration.h:72
CaloGeometry::getSubdetectorGeometry
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
PhiSymmetryCalibration::miscalEB_
double miscalEB_[kNMiscalBinsEB]
Definition: PhiSymmetryCalibration.h:90
Validation_hcalonly_cfi.sign
sign
Definition: Validation_hcalonly_cfi.py:32
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
PhiSymmetryCalibration::e_
EcalGeomPhiSymHelper e_
Definition: PhiSymmetryCalibration.h:69
EcalGeomPhiSymHelper::goodCell_endc
bool goodCell_endc[kEndcWedgesX][kEndcWedgesX][kSides]
Definition: EcalGeomPhiSymHelper.h:34
EcalGeomPhiSymHelper::goodCell_barl
bool goodCell_barl[kBarlRings][kBarlWedges][kSides]
Definition: EcalGeomPhiSymHelper.h:33
tools.TF1
TF1
Definition: tools.py:23
EcalFloatCondObjectContainerXMLTranslator::readXML
static int readXML(const std::string &filename, EcalCondHeader &header, EcalFloatCondObjectContainer &record)
Definition: EcalFloatCondObjectContainerXMLTranslator.cc:23
edm::Handle
Definition: AssociativeIterator.h:50
PhiSymmetryCalibration::kNMiscalBinsEE
static const int kNMiscalBinsEE
Definition: PhiSymmetryCalibration.h:66
PhiSymmetryCalibration::e_spectrum_e_histos
std::vector< TH1F * > e_spectrum_e_histos
Definition: PhiSymmetryCalibration.h:145
kEndcWedgesY
static const int kEndcWedgesY
Definition: EcalGeomPhiSymHelper.h:12
PhiSymmetryCalibration::isfirstpass_
bool isfirstpass_
Definition: PhiSymmetryCalibration.h:139
EcalBarrel
Definition: EcalSubdetector.h:10
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
PhiSymmetryCalibration::eCut_barl_
double eCut_barl_
Definition: PhiSymmetryCalibration.h:119
EcalGeomPhiSymHelper::cellPos_
GlobalPoint cellPos_[kEndcWedgesX][kEndcWedgesY]
Definition: EcalGeomPhiSymHelper.h:23
PhiSymmetryCalibration::nevents_
int nevents_
Definition: PhiSymmetryCalibration.h:148
PhiSymmetryCalibration::oldcalibfile_
std::string oldcalibfile_
Definition: PhiSymmetryCalibration.h:134
EcalGeomPhiSymHelper::etaBoundary_
double etaBoundary_[kEndcEtaRings+1]
Definition: EcalGeomPhiSymHelper.h:28
PhiSymmetryCalibration::eventsinrun_
int eventsinrun_
Definition: PhiSymmetryCalibration.h:149
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
EcalGeomPhiSymHelper::setup
void setup(const CaloGeometry *geometry, const EcalChannelStatus *chstatus, int statusThreshold)
Definition: EcalGeomPhiSymHelper.cc:18
PhiSymmetryCalibration::eventsinlb_
int eventsinlb_
Definition: PhiSymmetryCalibration.h:150
edm::FileInPath
Definition: FileInPath.h:64
PhiSymmetryCalibration::etsum_endc_
double etsum_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
Definition: PhiSymmetryCalibration.h:73
PhiSymmetryCalibration::miscalEE_
double miscalEE_[kNMiscalBinsEE]
Definition: PhiSymmetryCalibration.h:91
PhiSymmetryCalibration::k_barl_
double k_barl_[kBarlRings]
Definition: PhiSymmetryCalibration.h:88
PhiSymmetryCalibration::kMiscalRangeEE
static const float kMiscalRangeEE
Definition: PhiSymmetryCalibration.h:67
edm::SortedCollection::begin
const_iterator begin() const
Definition: SortedCollection.h:262
PVValHelper::eta
Definition: PVValidationHelpers.h:69
EcalGeomPhiSymHelper::endcapRing_
int endcapRing_[kEndcWedgesX][kEndcWedgesY]
Definition: EcalGeomPhiSymHelper.h:29
edm::ESHandle< CaloGeometry >
PhiSymmetryCalibration::kMiscalRangeEB
static const float kMiscalRangeEB
Definition: PhiSymmetryCalibration.h:64
PhiSymmetryCalibration::kNMiscalBinsEB
static const int kNMiscalBinsEB
Definition: PhiSymmetryCalibration.h:63
EEDetId
Definition: EEDetId.h:14
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalEndcap
Definition: EcalSubdetector.h:10
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
PhiSymmetryCalibration::spectra
bool spectra
Definition: PhiSymmetryCalibration.h:147
EcalChannelStatusRcd
Definition: EcalChannelStatusRcd.h:5
edm::SortedCollection::end
const_iterator end() const
Definition: SortedCollection.h:267
EcalCondHeader
Definition: EcalCondHeader.h:16
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
createfilelist.int
int
Definition: createfilelist.py:10
PhiSymmetryCalibration::setUp
void setUp(const edm::EventSetup &setup)
Definition: PhiSymmetryCalibration.cc:480
EgHLTOffHistBins_cfi.et
et
Definition: EgHLTOffHistBins_cfi.py:8
CaloSubdetectorGeometry::getGeometry
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
Definition: CaloSubdetectorGeometry.cc:36
kEndcEtaRings
static const int kEndcEtaRings
Definition: EcalGeomPhiSymHelper.h:14
PhiSymmetryCalibration::reiteration_
bool reiteration_
Definition: PhiSymmetryCalibration.h:133
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
DetId::Ecal
Definition: DetId.h:27
get
#define get
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
kSides
static const int kSides
Definition: EcalGeomPhiSymHelper.h:9
PhiSymmetryCalibration::et_spectrum_b_histos
std::vector< TH1F * > et_spectrum_b_histos
Definition: PhiSymmetryCalibration.h:142
kEndcWedgesX
static const int kEndcWedgesX
Definition: EcalGeomPhiSymHelper.h:11
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
PhiSymmetryCalibration::oldCalibs_
EcalIntercalibConstants oldCalibs_
the old calibration constants (when reiterating, the last ones derived)
Definition: PhiSymmetryCalibration.h:137
PhiSymmetryCalibration::eventSet_
int eventSet_
Definition: PhiSymmetryCalibration.h:125
relativeConstraints.ring
ring
Definition: relativeConstraints.py:68
PhiSymmetryCalibration::e_spectrum_b_histos
std::vector< TH1F * > e_spectrum_b_histos
Definition: PhiSymmetryCalibration.h:143
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PhiSymmetryCalibration::etsum_endc_miscal_
double etsum_endc_miscal_[kNMiscalBinsEE][kEndcEtaRings]
Definition: PhiSymmetryCalibration.h:82
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
kBarlWedges
static const int kBarlWedges
Definition: EcalGeomPhiSymHelper.h:8
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PhiSymmetryCalibration::b_
double b_
Definition: PhiSymmetryCalibration.h:123
PhiSymmetryCalibration::endcapHits_
std::string endcapHits_
Definition: PhiSymmetryCalibration.h:116
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
PhiSymmetryCalibration::et_spectrum_e_histos
std::vector< TH1F * > et_spectrum_e_histos
Definition: PhiSymmetryCalibration.h:144
PhiSymmetryCalibration::ecalHitsProducer_
std::string ecalHitsProducer_
Definition: PhiSymmetryCalibration.h:114
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
PhiSymmetryCalibration::barrelHits_
std::string barrelHits_
Definition: PhiSymmetryCalibration.h:115
EcalIntercalibConstantsRcd
Definition: EcalIntercalibConstantsRcd.h:5
PhiSymmetryCalibration::etsum_barl_miscal_
double etsum_barl_miscal_[kNMiscalBinsEB][kBarlRings]
Definition: PhiSymmetryCalibration.h:81
EcalGeomPhiSymHelper::nRing_
int nRing_[kEndcEtaRings]
Definition: EcalGeomPhiSymHelper.h:30
PhiSymmetryCalibration::k_endc_
double k_endc_[kEndcEtaRings]
Definition: PhiSymmetryCalibration.h:89
hit
Definition: SiStripHitEffFromCalibTree.cc:88
PhiSymmetryCalibration::nhits_barl_
unsigned int nhits_barl_[kBarlRings][kBarlWedges][kSides]
Definition: PhiSymmetryCalibration.h:78
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
PhiSymmetryCalibration::statusThreshold_
int statusThreshold_
threshold in channel status beyond which channel is marked bad
Definition: PhiSymmetryCalibration.h:127