CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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::one::EDAnalyzer< edm::one::SharedResources, edm::one::WatchRuns, edm::one::WatchLuminosityBlocks > edm::one::EDAnalyzerBase 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 beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void beginRun (edm::Run const &, const edm::EventSetup &) override
 
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::one::EDAnalyzer< edm::one::SharedResources, edm::one::WatchRuns, edm::one::WatchLuminosityBlocks >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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
 
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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
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

const double ap_
 
const double b_
 
std::vector< DetIdbarrelCells
 
const std::string barrelHits_
 
const edm::ESGetToken
< EcalChannelStatus,
EcalChannelStatusRcd
channelStatusToken_
 
EcalGeomPhiSymHelper e_
 
std::vector< TH1F * > e_spectrum_b_histos
 
std::vector< TH1F * > e_spectrum_e_histos
 
const edm::EDGetTokenT
< EBRecHitCollection
ebRecHitToken_
 
const std::string ecalHitsProducer_
 
const double eCut_barl_
 
const edm::EDGetTokenT
< EERecHitCollection
eeRecHitToken_
 
std::vector< DetIdendcapCells
 
const 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]
 
const int eventSet_
 
int eventsinlb_
 
int eventsinrun_
 
const edm::ESGetToken
< CaloGeometry,
CaloGeometryRecord
geometryToken_
 
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]
 
const 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]
 
const bool reiteration_
 
bool spectra
 
const 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::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
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...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 39 of file PhiSymmetryCalibration.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 42 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.

43  : ecalHitsProducer_(iConfig.getParameter<std::string>("ecalRecHitsProducer")),
44  barrelHits_(iConfig.getParameter<std::string>("barrelHitCollection")),
45  endcapHits_(iConfig.getParameter<std::string>("endcapHitCollection")),
46  ebRecHitToken_(consumes<EBRecHitCollection>(edm::InputTag(ecalHitsProducer_, barrelHits_))),
47  eeRecHitToken_(consumes<EERecHitCollection>(edm::InputTag(ecalHitsProducer_, endcapHits_))),
50  eCut_barl_(iConfig.getParameter<double>("eCut_barrel")),
51  ap_(iConfig.getParameter<double>("ap")),
52  b_(iConfig.getParameter<double>("b")),
53  eventSet_(iConfig.getParameter<int>("eventSet")),
54  statusThreshold_(iConfig.getUntrackedParameter<int>("statusThreshold", 3)),
55  reiteration_(iConfig.getUntrackedParameter<bool>("reiteration", false)),
56  oldcalibfile_(iConfig.getUntrackedParameter<std::string>("oldcalibfile", "EcalintercalibConstants.xml")) {
57  isfirstpass_ = true;
58 
63 
64  spectra = true;
65 
66  nevents_ = 0;
67  eventsinrun_ = 0;
68  eventsinlb_ = 0;
69 
70  // because ROOT draws something
71  usesResource();
72 }
T getUntrackedParameter(std::string const &, T const &) const
const edm::EDGetTokenT< EERecHitCollection > eeRecHitToken_
static const int kBarlRings
std::vector< TH1F * > et_spectrum_b_histos
std::vector< TH1F * > e_spectrum_b_histos
const std::string ecalHitsProducer_
static const int kEndcEtaRings
std::vector< TH1F * > et_spectrum_e_histos
const edm::EDGetTokenT< EBRecHitCollection > ebRecHitToken_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
const int statusThreshold_
threshold in channel status beyond which channel is marked bad
std::vector< TH1F * > e_spectrum_e_histos
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > channelStatusToken_
PhiSymmetryCalibration::~PhiSymmetryCalibration ( )
override

Destructor.

Definition at line 77 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.

77  {
78  for (Int_t i = 0; i < kBarlRings; i++) {
79  delete et_spectrum_b_histos[i];
80  delete e_spectrum_b_histos[i];
81  }
82  for (Int_t i = 0; i < kEndcEtaRings; i++) {
83  delete et_spectrum_e_histos[i];
84  delete e_spectrum_e_histos[i];
85  }
86 }
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 
)
overridevirtual

Called at each event.

Implements edm::one::EDAnalyzerBase.

Definition at line 228 of file PhiSymmetryCalibration.cc.

References funct::abs(), ap_, b_, EcalGeomPhiSymHelper::cellPos_, alignCSCRings::e, e_, e_spectrum_b_histos, e_spectrum_e_histos, ebRecHitToken_, DetId::Ecal, EcalBarrel, EcalEndcap, eCut_barl_, EcalGeomPhiSymHelper::endcapRing_, 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(), relativeConstraints::geometry, geometryToken_, edm::EventSetup::getData(), EcalGeomPhiSymHelper::goodCell_barl, EcalGeomPhiSymHelper::goodCell_endc, EBDetId::ieta(), EBDetId::iphi(), isfirstpass_, EEDetId::ix(), EEDetId::iy(), kEndcEtaRings, kNMiscalBinsEB, kNMiscalBinsEE, miscalEB_, miscalEE_, nevents_, nhits_barl_, nhits_endc_, EcalGeomPhiSymHelper::nRing_, oldCalibs_, reiteration_, relativeConstraints::ring, setUp(), jetcorrextractor::sign(), spectra, and EEDetId::zside().

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

Called at beginning of job.

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 91 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, kBarlRings, kBarlWedges, kEndcEtaRings, kEndcWedgesX, kEndcWedgesY, kMiscalRangeEB, kMiscalRangeEE, kNMiscalBinsEB, kNMiscalBinsEE, kSides, miscalEB_, miscalEE_, nhits_barl_, nhits_endc_, relativeConstraints::ring, jetcorrextractor::sign(), spectra, and submitPVValidationJobs::t.

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

Definition at line 501 of file PhiSymmetryCalibration.cc.

501 {}
void PhiSymmetryCalibration::beginRun ( edm::Run const &  ,
const edm::EventSetup  
)
override

Definition at line 377 of file PhiSymmetryCalibration.cc.

377 {}
void PhiSymmetryCalibration::endJob ( void  )
overridevirtual

Called at end of job.

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 151 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_, validate-o2o-wbm::f, getKfactors(), mps_fire::i, k_barl_, k_endc_, kBarlRings, kBarlWedges, kEndcEtaRings, kEndcWedgesX, kEndcWedgesY, kSides, nevents_, nhits_barl_, nhits_endc_, submitPVResolutionJobs::out, relativeConstraints::ring, jetcorrextractor::sign(), and spectra.

Referenced by o2olib.O2ORunMgr::executeJob().

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

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

503  {
504  if ((lb.endTime().value() >> 32) - (lb.beginTime().value() >> 32) < 60)
505  return;
506 
507  std::cout << "PHILB : run " << lb.run() << " id " << lb.id() << " start " << (lb.beginTime().value() >> 32) << " end "
508  << (lb.endTime().value() >> 32) << " dur " << (lb.endTime().value() >> 32) - (lb.beginTime().value() >> 32)
509 
510  << " npass " << eventsinlb_ << std::endl;
511 
512  eventsinlb_ = 0;
513 }
tuple cout
Definition: gather_cfg.py:144
void PhiSymmetryCalibration::endRun ( edm::Run const &  run,
const edm::EventSetup  
)
override

Definition at line 379 of file PhiSymmetryCalibration.cc.

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

379  {
380  std::cout << "PHIREPRT : run " << run.run() << " start " << (run.beginTime().value() >> 32) << " end "
381  << (run.endTime().value() >> 32) << " dur "
382  << (run.endTime().value() >> 32) - (run.beginTime().value() >> 32)
383 
384  << " npass " << eventsinrun_ << std::endl;
385  eventsinrun_ = 0;
386 
387  return;
388 }
tuple cout
Definition: gather_cfg.py:144
void PhiSymmetryCalibration::getKfactors ( )
private

Definition at line 392 of file PhiSymmetryCalibration.cc.

References gather_cfg::cout, etsum_barl_miscal_, etsum_endc_miscal_, validate-o2o-wbm::f, k_barl_, k_endc_, kBarlRings, kEndcEtaRings, kMiscalRangeEB, kMiscalRangeEE, kNMiscalBinsEB, kNMiscalBinsEE, miscalEB_, miscalEE_, relativeConstraints::ring, and submitPVValidationJobs::t.

Referenced by endJob().

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

Definition at line 479 of file PhiSymmetryCalibration.cc.

References channelStatusToken_, e_, edm::FileInPath::fullPath(), relativeConstraints::geometry, geometryToken_, edm::EventSetup::getData(), h, oldcalibfile_, oldCalibs_, EcalFloatCondObjectContainerXMLTranslator::readXML(), reiteration_, runTheMatrix::ret, EcalGeomPhiSymHelper::setup(), and statusThreshold_.

Referenced by analyze().

479  {
480  const auto& chStatus = setup.getData(channelStatusToken_);
481 
482  const auto& geometry = setup.getData(geometryToken_);
483 
484  e_.setup(&geometry, &chStatus, statusThreshold_);
485 
486  if (reiteration_) {
488  // namespace fs = boost::filesystem;
489  // fs::path p(oldcalibfile_.c_str(),fs::native);
490  // if (!fs::exists(p)) edm::LogError("PhiSym") << "File not found: "
491  // << oldcalibfile_ <<endl;
492 
493  edm::FileInPath fip("Calibration/EcalCalibAlgos/data/" + oldcalibfile_);
494 
496  if (ret)
497  edm::LogError("PhiSym") << "Error reading XML files" << endl;
498  }
499 }
tuple ret
prodAgent to be discontinued
void setup(const CaloGeometry *geometry, const EcalChannelStatus *chstatus, int statusThreshold)
Log< level::Error, false > LogError
static int readXML(const std::string &filename, EcalCondHeader &header, EcalFloatCondObjectContainer &record)
EcalIntercalibConstants oldCalibs_
the old calibration constants (when reiterating, the last ones derived)
bool getData(T &iHolder) const
Definition: EventSetup.h:128
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
const int statusThreshold_
threshold in channel status beyond which channel is marked bad
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > channelStatusToken_

Member Data Documentation

const double PhiSymmetryCalibration::ap_
private

Definition at line 135 of file PhiSymmetryCalibration.h.

Referenced by analyze().

const double PhiSymmetryCalibration::b_
private

Definition at line 136 of file PhiSymmetryCalibration.h.

Referenced by analyze().

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

Definition at line 101 of file PhiSymmetryCalibration.h.

const std::string PhiSymmetryCalibration::barrelHits_
private

Definition at line 123 of file PhiSymmetryCalibration.h.

const edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> PhiSymmetryCalibration::channelStatusToken_
private

Definition at line 128 of file PhiSymmetryCalibration.h.

Referenced by setUp().

EcalGeomPhiSymHelper PhiSymmetryCalibration::e_
private

Definition at line 77 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
const edm::EDGetTokenT<EBRecHitCollection> PhiSymmetryCalibration::ebRecHitToken_
private

Definition at line 126 of file PhiSymmetryCalibration.h.

Referenced by analyze().

const std::string PhiSymmetryCalibration::ecalHitsProducer_
private

Definition at line 122 of file PhiSymmetryCalibration.h.

const double PhiSymmetryCalibration::eCut_barl_
private

Definition at line 132 of file PhiSymmetryCalibration.h.

Referenced by analyze().

const edm::EDGetTokenT<EERecHitCollection> PhiSymmetryCalibration::eeRecHitToken_
private

Definition at line 127 of file PhiSymmetryCalibration.h.

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

Definition at line 102 of file PhiSymmetryCalibration.h.

const std::string PhiSymmetryCalibration::endcapHits_
private

Definition at line 124 of file PhiSymmetryCalibration.h.

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

Definition at line 113 of file PhiSymmetryCalibration.h.

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

Definition at line 114 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::esumMean_barl_[kBarlRings]
private

Definition at line 92 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::esumMean_endc_[kEndcEtaRings]
private

Definition at line 93 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 80 of file PhiSymmetryCalibration.h.

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

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

Definition at line 89 of file PhiSymmetryCalibration.h.

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

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

Definition at line 81 of file PhiSymmetryCalibration.h.

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

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

Definition at line 90 of file PhiSymmetryCalibration.h.

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

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

Definition at line 82 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::etsumMean_barl_[kBarlRings]
private

Definition at line 83 of file PhiSymmetryCalibration.h.

double PhiSymmetryCalibration::etsumMean_endc_[kEndcEtaRings]
private

Definition at line 84 of file PhiSymmetryCalibration.h.

const int PhiSymmetryCalibration::eventSet_
private

Definition at line 138 of file PhiSymmetryCalibration.h.

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

int PhiSymmetryCalibration::eventsinlb_
private

Definition at line 163 of file PhiSymmetryCalibration.h.

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

int PhiSymmetryCalibration::eventsinrun_
private

Definition at line 162 of file PhiSymmetryCalibration.h.

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

const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> PhiSymmetryCalibration::geometryToken_
private

Definition at line 129 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and setUp().

bool PhiSymmetryCalibration::isfirstpass_
private

Definition at line 152 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and PhiSymmetryCalibration().

double PhiSymmetryCalibration::k_barl_[kBarlRings]
private

Definition at line 96 of file PhiSymmetryCalibration.h.

Referenced by endJob(), and getKfactors().

double PhiSymmetryCalibration::k_endc_[kEndcEtaRings]
private

Definition at line 97 of file PhiSymmetryCalibration.h.

Referenced by endJob(), and getKfactors().

const int PhiSymmetryCalibration::kMaxEndciPhi = 360
staticprivate

Definition at line 142 of file PhiSymmetryCalibration.h.

const float PhiSymmetryCalibration::kMiscalRangeEB = .05
staticprivate

Definition at line 72 of file PhiSymmetryCalibration.h.

Referenced by beginJob(), and getKfactors().

const float PhiSymmetryCalibration::kMiscalRangeEE = .10
staticprivate

Definition at line 75 of file PhiSymmetryCalibration.h.

Referenced by beginJob(), and getKfactors().

const int PhiSymmetryCalibration::kNMiscalBinsEB = 21
staticprivate

Definition at line 71 of file PhiSymmetryCalibration.h.

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

const int PhiSymmetryCalibration::kNMiscalBinsEE = 41
staticprivate

Definition at line 74 of file PhiSymmetryCalibration.h.

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

double PhiSymmetryCalibration::miscalEB_[kNMiscalBinsEB]
private

Definition at line 98 of file PhiSymmetryCalibration.h.

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

double PhiSymmetryCalibration::miscalEE_[kNMiscalBinsEE]
private

Definition at line 99 of file PhiSymmetryCalibration.h.

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

int PhiSymmetryCalibration::nevents_
private

Definition at line 161 of file PhiSymmetryCalibration.h.

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

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

Definition at line 109 of file PhiSymmetryCalibration.h.

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

Definition at line 110 of file PhiSymmetryCalibration.h.

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

Definition at line 86 of file PhiSymmetryCalibration.h.

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

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

Definition at line 87 of file PhiSymmetryCalibration.h.

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

const std::string PhiSymmetryCalibration::oldcalibfile_
private

Definition at line 147 of file PhiSymmetryCalibration.h.

Referenced by setUp().

EcalIntercalibConstants PhiSymmetryCalibration::oldCalibs_
private

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

Definition at line 150 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and setUp().

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

Definition at line 105 of file PhiSymmetryCalibration.h.

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

Definition at line 106 of file PhiSymmetryCalibration.h.

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

Definition at line 144 of file PhiSymmetryCalibration.h.

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

Definition at line 117 of file PhiSymmetryCalibration.h.

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

Definition at line 118 of file PhiSymmetryCalibration.h.

const bool PhiSymmetryCalibration::reiteration_
private

Definition at line 146 of file PhiSymmetryCalibration.h.

Referenced by analyze(), and setUp().

bool PhiSymmetryCalibration::spectra
private

Definition at line 160 of file PhiSymmetryCalibration.h.

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

const int PhiSymmetryCalibration::statusThreshold_
private

threshold in channel status beyond which channel is marked bad

Definition at line 140 of file PhiSymmetryCalibration.h.

Referenced by setUp().