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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
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 wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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

Definition at line 34 of file PhiSymmetryCalibration.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 51 of file PhiSymmetryCalibration.cc.

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.

52  :
53 
54  ecalHitsProducer_(iConfig.getParameter<std::string>("ecalRecHitsProducer")),
55  barrelHits_(iConfig.getParameter<std::string>("barrelHitCollection")),
56  endcapHits_(iConfig.getParameter<std::string>("endcapHitCollection")),
57  eCut_barl_(iConfig.getParameter<double>("eCut_barrel")),
58  ap_(iConfig.getParameter<double>("ap")),
59  b_(iConfig.getParameter<double>("b")),
60  eventSet_(iConfig.getParameter<int>("eventSet")),
61  statusThreshold_(iConfig.getUntrackedParameter<int>("statusThreshold", 3)),
62  reiteration_(iConfig.getUntrackedParameter<bool>("reiteration", false)),
63  oldcalibfile_(iConfig.getUntrackedParameter<std::string>("oldcalibfile", "EcalintercalibConstants.xml")) {
64  isfirstpass_ = true;
65 
70 
71  spectra = true;
72 
73  nevents_ = 0;
74  eventsinrun_ = 0;
75  eventsinlb_ = 0;
76 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
static const int kBarlRings
std::vector< TH1F * > et_spectrum_b_histos
std::vector< TH1F * > e_spectrum_b_histos
static const int kEndcEtaRings
std::vector< TH1F * > et_spectrum_e_histos
int statusThreshold_
threshold in channel status beyond which channel is marked bad
std::vector< TH1F * > e_spectrum_e_histos
PhiSymmetryCalibration::~PhiSymmetryCalibration ( )
override

Destructor.

Definition at line 81 of file PhiSymmetryCalibration.cc.

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

81  {
82  for (Int_t i = 0; i < kBarlRings; i++) {
83  delete et_spectrum_b_histos[i];
84  delete e_spectrum_b_histos[i];
85  }
86  for (Int_t i = 0; i < kEndcEtaRings; i++) {
87  delete et_spectrum_e_histos[i];
88  delete e_spectrum_e_histos[i];
89  }
90 }
static const int kBarlRings
std::vector< TH1F * > et_spectrum_b_histos
std::vector< TH1F * > e_spectrum_b_histos
static const int kEndcEtaRings
std::vector< TH1F * > et_spectrum_e_histos
std::vector< TH1F * > e_spectrum_e_histos

Member Function Documentation

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

Called at each event.

Definition at line 232 of file PhiSymmetryCalibration.cc.

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(), edm::EventSetup::get(), CaloSubdetectorGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), EcalGeomPhiSymHelper::goodCell_barl, EcalGeomPhiSymHelper::goodCell_endc, EBDetId::ieta(), EBDetId::iphi(), isfirstpass_, edm::HandleBase::isValid(), EEDetId::ix(), EEDetId::iy(), kEndcEtaRings, kNMiscalBinsEB, kNMiscalBinsEE, miscalEB_, miscalEE_, nevents_, nhits_barl_, nhits_endc_, EcalGeomPhiSymHelper::nRing_, oldCalibs_, reiteration_, relativeConstraints::ring, setUp(), Validation_hcalonly_cfi::sign, spectra, and EEDetId::zside().

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

Called at beginning of job.

Reimplemented from edm::EDAnalyzer.

Definition at line 95 of file PhiSymmetryCalibration.cc.

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 OrderedSet::t.

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

Called at end of job.

Reimplemented from edm::EDAnalyzer.

Definition at line 155 of file PhiSymmetryCalibration.cc.

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().

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

Reimplemented from edm::EDAnalyzer.

Definition at line 513 of file PhiSymmetryCalibration.cc.

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

513  {
514  if ((lb.endTime().value() >> 32) - (lb.beginTime().value() >> 32) < 60)
515  return;
516 
517  std::cout << "PHILB : run " << lb.run() << " id " << lb.id() << " start " << (lb.beginTime().value() >> 32) << " end "
518  << (lb.endTime().value() >> 32) << " dur " << (lb.endTime().value() >> 32) - (lb.beginTime().value() >> 32)
519 
520  << " npass " << eventsinlb_ << std::endl;
521 
522  eventsinlb_ = 0;
523 }
void PhiSymmetryCalibration::endRun ( edm::Run const &  run,
const edm::EventSetup  
)
override

Definition at line 382 of file PhiSymmetryCalibration.cc.

References edm::RunBase::beginTime(), gather_cfg::cout, edm::RunBase::endTime(), eventsinrun_, edm::RunBase::run(), and edm::Timestamp::value().

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

Definition at line 395 of file PhiSymmetryCalibration.cc.

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, and OrderedSet::t.

Referenced by endJob().

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

Definition at line 482 of file PhiSymmetryCalibration.cc.

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

Referenced by analyze().

482  {
484  setup.get<EcalChannelStatusRcd>().get(chStatus);
485 
486  edm::ESHandle<CaloGeometry> geoHandle;
487  setup.get<CaloGeometryRecord>().get(geoHandle);
488 
489  e_.setup(&(*geoHandle), &(*chStatus), statusThreshold_);
490 
491  if (reiteration_) {
493  // namespace fs = boost::filesystem;
494  // fs::path p(oldcalibfile_.c_str(),fs::native);
495  // if (!fs::exists(p)) edm::LogError("PhiSym") << "File not found: "
496  // << oldcalibfile_ <<endl;
497 
498  edm::FileInPath fip("Calibration/EcalCalibAlgos/data/" + oldcalibfile_);
499 
501  if (ret)
502  edm::LogError("PhiSym") << "Error reading XML files" << endl;
503  ;
504 
505  } else {
506  // in fact if not reiterating, oldCalibs_ will never be used
508  setup.get<EcalIntercalibConstantsRcd>().get(pIcal);
509  oldCalibs_ = *pIcal;
510  }
511 }
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void setup(const CaloGeometry *geometry, const EcalChannelStatus *chstatus, int statusThreshold)
ret
prodAgent to be discontinued
static int readXML(const std::string &filename, EcalCondHeader &header, EcalFloatCondObjectContainer &record)
EcalIntercalibConstants oldCalibs_
the old calibration constants (when reiterating, the last ones derived)
int statusThreshold_
threshold in channel status beyond which channel is marked bad
T get() const
Definition: EventSetup.h:73

Member Data Documentation

double PhiSymmetryCalibration::ap_
private

Definition at line 122 of file PhiSymmetryCalibration.h.

Referenced by analyze().

double PhiSymmetryCalibration::b_
private

Definition at line 123 of file PhiSymmetryCalibration.h.

Referenced by analyze().

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

Definition at line 93 of file PhiSymmetryCalibration.h.

std::string PhiSymmetryCalibration::barrelHits_
private

Definition at line 115 of file PhiSymmetryCalibration.h.

Referenced by analyze().

EcalGeomPhiSymHelper PhiSymmetryCalibration::e_
private

Definition at line 69 of file PhiSymmetryCalibration.h.

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

std::vector<TH1F*> PhiSymmetryCalibration::e_spectrum_b_histos
private
std::vector<TH1F*> PhiSymmetryCalibration::e_spectrum_e_histos
private
std::string PhiSymmetryCalibration::ecalHitsProducer_
private

Definition at line 114 of file PhiSymmetryCalibration.h.

Referenced by analyze().

double PhiSymmetryCalibration::eCut_barl_
private

Definition at line 119 of file PhiSymmetryCalibration.h.

Referenced by analyze().

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

Definition at line 94 of file PhiSymmetryCalibration.h.

std::string PhiSymmetryCalibration::endcapHits_
private

Definition at line 116 of file PhiSymmetryCalibration.h.

Referenced by analyze().

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

Definition at line 105 of file PhiSymmetryCalibration.h.

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

Definition at line 106 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::esumMean_barl_[kBarlRings]
private

Definition at line 84 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::esumMean_endc_[kEndcEtaRings]
private

Definition at line 85 of file PhiSymmetryCalibration.h.

std::vector<TH1F*> PhiSymmetryCalibration::et_spectrum_b_histos
private
std::vector<TH1F*> PhiSymmetryCalibration::et_spectrum_e_histos
private
double PhiSymmetryCalibration::etsum_barl_[kBarlRings][kBarlWedges][kSides]
private

Definition at line 72 of file PhiSymmetryCalibration.h.

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

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

Definition at line 81 of file PhiSymmetryCalibration.h.

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

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

Definition at line 73 of file PhiSymmetryCalibration.h.

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

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

Definition at line 82 of file PhiSymmetryCalibration.h.

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

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

Definition at line 74 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::etsumMean_barl_[kBarlRings]
private

Definition at line 75 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::etsumMean_endc_[kEndcEtaRings]
private

Definition at line 76 of file PhiSymmetryCalibration.h.

int PhiSymmetryCalibration::eventSet_
private

Definition at line 125 of file PhiSymmetryCalibration.h.

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

int PhiSymmetryCalibration::eventsinlb_
private

Definition at line 150 of file PhiSymmetryCalibration.h.

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

int PhiSymmetryCalibration::eventsinrun_
private

Definition at line 149 of file PhiSymmetryCalibration.h.

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

bool PhiSymmetryCalibration::isfirstpass_
private

Definition at line 139 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and PhiSymmetryCalibration().

double PhiSymmetryCalibration::k_barl_[kBarlRings]
private

Definition at line 88 of file PhiSymmetryCalibration.h.

Referenced by endJob(), and getKfactors().

double PhiSymmetryCalibration::k_endc_[kEndcEtaRings]
private

Definition at line 89 of file PhiSymmetryCalibration.h.

Referenced by endJob(), and getKfactors().

const int PhiSymmetryCalibration::kMaxEndciPhi = 360
staticprivate

Definition at line 129 of file PhiSymmetryCalibration.h.

const float PhiSymmetryCalibration::kMiscalRangeEB = .05
staticprivate

Definition at line 64 of file PhiSymmetryCalibration.h.

Referenced by beginJob(), and getKfactors().

const float PhiSymmetryCalibration::kMiscalRangeEE = .10
staticprivate

Definition at line 67 of file PhiSymmetryCalibration.h.

Referenced by beginJob(), and getKfactors().

const int PhiSymmetryCalibration::kNMiscalBinsEB = 21
staticprivate

Definition at line 63 of file PhiSymmetryCalibration.h.

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

const int PhiSymmetryCalibration::kNMiscalBinsEE = 41
staticprivate

Definition at line 66 of file PhiSymmetryCalibration.h.

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

double PhiSymmetryCalibration::miscalEB_[kNMiscalBinsEB]
private

Definition at line 90 of file PhiSymmetryCalibration.h.

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

double PhiSymmetryCalibration::miscalEE_[kNMiscalBinsEE]
private

Definition at line 91 of file PhiSymmetryCalibration.h.

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

int PhiSymmetryCalibration::nevents_
private

Definition at line 148 of file PhiSymmetryCalibration.h.

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

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

Definition at line 101 of file PhiSymmetryCalibration.h.

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

Definition at line 102 of file PhiSymmetryCalibration.h.

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

Definition at line 78 of file PhiSymmetryCalibration.h.

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

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

Definition at line 79 of file PhiSymmetryCalibration.h.

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

std::string PhiSymmetryCalibration::oldcalibfile_
private

Definition at line 134 of file PhiSymmetryCalibration.h.

Referenced by setUp().

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().

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

Definition at line 97 of file PhiSymmetryCalibration.h.

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

Definition at line 98 of file PhiSymmetryCalibration.h.

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

Definition at line 131 of file PhiSymmetryCalibration.h.

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

Definition at line 109 of file PhiSymmetryCalibration.h.

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

Definition at line 110 of file PhiSymmetryCalibration.h.

bool PhiSymmetryCalibration::reiteration_
private

Definition at line 133 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and setUp().

bool PhiSymmetryCalibration::spectra
private

Definition at line 147 of file PhiSymmetryCalibration.h.

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

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().