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 
18 
24 
27 
29 
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 
42  private:
43 
44  void dqmEndJob(DQMStore::IBooker& ibooker_, DQMStore::IGetter& igetter_) override ;
45 
46  void dqmPlots(const EcalPedestals& newpeds, DQMStore::IBooker& ibooker);
47 
51  bool checkStatusCode(const DetId& id);
52  bool isGood(const DetId& id);
53 
54  bool checkVariation(const EcalPedestalsMap& oldPedestals, const EcalPedestalsMap& newPedestals);
55  std::vector<int> chStatusToExclude_;
57 
58 
61  bool checkAnomalies_ ; // whether or not to avoid creating sqlite file in case of many changed pedestals
62  double nSigma_; // threshold in sigmas to define a pedestal as changed
63  double thresholdAnomalies_; // threshold (fraction of changed pedestals) to avoid creation of sqlite file
64  std::string dqmDir_; // DQM directory where histograms are stored
65  std::string labelG6G1_; // DB label from which pedestals for G6 and G1 are to be copied
66  float threshDiffEB_; // if the new pedestals differs more than this from old, keep old
67  float threshDiffEE_; // same as above for EE. Stray channel protection
68  float threshChannelsAnalyzed_; // threshold for minimum percentage of channels analized to produce DQM plots
69 
70 };
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:18
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)
Definition: Run.h:45