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 class SiStripDetCabling;
26 class TrackerGeometry;
27 
28 class SiStripGainCosmicCalculator : public ConditionDBWriter<SiStripApvGain> {
29 public:
32 private:
33  void algoAnalyze(const edm::Event &, const edm::EventSetup &) override;
34  void algoBeginJob(const edm::EventSetup&) override;
35  void algoEndJob() override;
36  std::unique_ptr<SiStripApvGain> getNewObject() override;
37 private:
38  std::pair<double,double> getPeakOfLandau( TH1F * inputHisto );
39  double moduleWidth(const uint32_t detid);
40  double moduleThickness(const uint32_t detid);
41 private:
44  //
45  TObjArray * HlistAPVPairs;
46  TObjArray * HlistOtherHistos;
49  std::map<uint32_t, double> thickness_map; // map of detector id to respective thickness
50  std::vector<uint32_t> SelectedDetIds;
51  std::vector<uint32_t> detModulesToBeExcluded;
53  TrackerGeometry const* tkGeom = nullptr;
54  unsigned int MinNrEntries;
57  TString outputFileName ;
60 };
61 #endif
std::vector< uint32_t > SelectedDetIds
double moduleThickness(const uint32_t detid)
void algoBeginJob(const edm::EventSetup &) override
std::pair< double, double > getPeakOfLandau(TH1F *inputHisto)
SiStripGainCosmicCalculator(const edm::ParameterSet &)
std::map< uint32_t, double > thickness_map
SiStripDetCabling const * siStripDetCabling
std::unique_ptr< SiStripApvGain > getNewObject() override
std::vector< uint32_t > detModulesToBeExcluded
double moduleWidth(const uint32_t detid)
void algoAnalyze(const edm::Event &, const edm::EventSetup &) override