CMS 3D CMS Logo

SiStripGainCosmicCalculator.h
Go to the documentation of this file.
1 #ifndef CalibTracker_SiStripChannelGain_SiStripGainCosmicCalculator_h
2 #define CalibTracker_SiStripChannelGain_SiStripGainCosmicCalculator_h
3 // -*- C++ -*-
4 // Package: SiStripApvGainCalculator
5 // Class: SiStripApvGainCalculator
10 // Original Author: Dorian Kcira, Pierre Rodeghiero
11 // Created: Mon Nov 20 10:04:31 CET 2006
14 #include <vector>
15 #include "TF1.h"
16 #include "TH1F.h"
17 #include "TObjArray.h"
18 #include "TFile.h"
19 #include "TString.h"
20 #include <fstream>
21 #include <sstream>
22 #include <memory>
23 
24 class TrackerTopology;
25 
26 class SiStripGainCosmicCalculator : public ConditionDBWriter<SiStripApvGain> {
27 public:
30 private:
31  void algoAnalyze(const edm::Event &, const edm::EventSetup &) override;
32  void algoBeginJob(const edm::EventSetup&) override;
33  void algoEndJob() override;
34  std::unique_ptr<SiStripApvGain> getNewObject() override;
35 private:
36  std::pair<double,double> getPeakOfLandau( TH1F * inputHisto );
37  double moduleWidth(const uint32_t detid, const edm::EventSetup* iSetup);
38  double moduleThickness(const uint32_t detid, const edm::EventSetup* iSetup);
39 private:
42  //
43  TObjArray * HlistAPVPairs;
44  TObjArray * HlistOtherHistos;
47  std::map<uint32_t, double> thickness_map; // map of detector id to respective thickness
48  std::vector<uint32_t> SelectedDetIds;
49  std::vector<uint32_t> detModulesToBeExcluded;
51  unsigned int MinNrEntries;
54  TString outputFileName ;
57 };
58 #endif
std::vector< uint32_t > SelectedDetIds
double moduleThickness(const uint32_t detid, const edm::EventSetup *iSetup)
void algoBeginJob(const edm::EventSetup &) override
const edm::EventSetup * eventSetupCopy_
double moduleWidth(const uint32_t detid, const edm::EventSetup *iSetup)
std::pair< double, double > getPeakOfLandau(TH1F *inputHisto)
SiStripGainCosmicCalculator(const edm::ParameterSet &)
std::map< uint32_t, double > thickness_map
std::unique_ptr< SiStripApvGain > getNewObject() override
std::vector< uint32_t > detModulesToBeExcluded
void algoAnalyze(const edm::Event &, const edm::EventSetup &) override