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 
33 private:
34  void algoAnalyze(const edm::Event&, const edm::EventSetup&) override;
35  void algoBeginJob(const edm::EventSetup&) override;
36  void algoEndJob() override;
37  std::unique_ptr<SiStripApvGain> getNewObject() override;
38 
39 private:
40  std::pair<double, double> getPeakOfLandau(TH1F* inputHisto);
41  double moduleWidth(const uint32_t detid);
42  double moduleThickness(const uint32_t detid);
43 
44 private:
47  //
48  TObjArray* HlistAPVPairs;
49  TObjArray* HlistOtherHistos;
52  std::map<uint32_t, double> thickness_map; // map of detector id to respective thickness
53  std::vector<uint32_t> SelectedDetIds;
54  std::vector<uint32_t> detModulesToBeExcluded;
56  TrackerGeometry const* tkGeom = nullptr;
57  unsigned int MinNrEntries;
60  TString outputFileName;
63 };
64 #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