CMS 3D CMS Logo

ECALpedestalPCLHarvester.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Calibration/EcalCalibAlgos
4 // Class: ECALpedestalPCLHarvester
5 //
12 //
13 // Original Author: Stefano Argiro
14 // Created: Wed, 22 Mar 2017 14:46:48 GMT
15 //
16 //
17 
22 
25 
27 
34 
36 public:
37  explicit ECALpedestalPCLHarvester(const edm::ParameterSet& ps);
38  void endRun(edm::Run const& run, edm::EventSetup const& isetup) override;
39  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
40 
41 private:
42  void dqmEndJob(DQMStore::IBooker& ibooker_, DQMStore::IGetter& igetter_) override;
43 
44  void dqmPlots(const EcalPedestals& newpeds, DQMStore::IBooker& ibooker);
45 
46  bool checkVariation(const EcalPedestalsMap& oldPedestals, const EcalPedestalsMap& newPedestals);
47  bool checkStatusCode(const DetId& id);
48  bool isGood(const DetId& id);
49 
50  std::vector<int> chStatusToExclude_;
51  const int minEntries_;
52 
55  const bool checkAnomalies_; // whether or not to avoid creating sqlite file in case of many changed pedestals
56  const double nSigma_; // threshold in sigmas to define a pedestal as changed
57  const double thresholdAnomalies_; // threshold (fraction of changed pedestals) to avoid creation of sqlite file
58  const std::string dqmDir_; // DQM directory where histograms are stored
59  const std::string labelG6G1_; // DB label from which pedestals for G6 and G1 are to be copied
60  const float threshDiffEB_; // if the new pedestals differs more than this from old, keep old
61  const float threshDiffEE_; // same as above for EE. Stray channel protection
62  const float threshChannelsAnalyzed_; // threshold for minimum percentage of channels analized to produce DQM plots
63 
64  // ES token
68 
72 };
const edm::ESGetToken< EcalPedestals, EcalPedestalsRcd > g6g1PedestalsToken_
int entriesEE_[EEDetId::kSizeForDenseIndexing]
bool checkVariation(const EcalPedestalsMap &oldPedestals, const EcalPedestalsMap &newPedestals)
void dqmEndJob(DQMStore::IBooker &ibooker_, DQMStore::IGetter &igetter_) override
ECALpedestalPCLHarvester(const edm::ParameterSet &ps)
const EcalPedestals * g6g1Pedestals_
std::vector< int > chStatusToExclude_
void dqmPlots(const EcalPedestals &newpeds, DQMStore::IBooker &ibooker)
Definition: DetId.h:17
const edm::ESGetToken< EcalPedestals, EcalPedestalsRcd > pedestalsToken_
const EcalChannelStatus * channelStatus_
bool checkStatusCode(const DetId &id)
const EcalPedestals * currentPedestals_
void endRun(edm::Run const &run, edm::EventSetup const &isetup) override
int entriesEB_[EBDetId::kSizeForDenseIndexing]
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > channelsStatusToken_
Definition: Run.h:45