CMS 3D CMS Logo

ErrorsPropagationAnalyzer.h
Go to the documentation of this file.
1 #ifndef ERRORSANALYZER_HH
2 #define ERRORSANALYZER_HH
3 
4 // -*- C++ -*-
5 //
6 // Package: ErrorsPropagationAnalyzer
7 // Class: ErrorsPropagationAnalyzer
8 //
16 //
17 // Original Author: Marco De Mattia
18 // Created: Thu Sep 11 12:16:00 CEST 2008
19 //
20 //
21 
22 // system include files
23 #include <memory>
24 #include <string>
25 #include <vector>
26 
32 
33 #include <TH1D.h>
34 #include <TProfile.h>
35 #include <TString.h>
36 #include <TCanvas.h>
37 #include <TGraphAsymmErrors.h>
38 #include <TROOT.h>
39 
42 #include "MuScleFitUtils.h"
44 
45 //
46 // class declaration
47 //
48 
50 {
51 public:
53  ~ErrorsPropagationAnalyzer() override;
54 
55 private:
56  void analyze(const edm::Event&, const edm::EventSetup&) override;
57  void fillHistograms();
58  void drawHistograms(const TProfile* histo, const TProfile* histoPlusErr,
59  const TProfile* histoMinusErr, const TString& type, const TString& yLabel);
60  void fillValueError();
61  void endJob() override {};
63  double massResolution( const lorentzVector& mu1,
64  const lorentzVector& mu2,
65  const std::vector<double> & parval,
66  const double & sigmaPt1,
67  const double & sigmaPt2 );
68  double massResolution( const lorentzVector& mu1,
69  const lorentzVector& mu2,
70  double* parval,
71  const double & sigmaPt1,
72  const double & sigmaPt2);
73 
74  TString treeFileName_;
76  uint32_t maxEvents_;
77  TString outputFileName_;
78  int ptBins_;
79  double ptMin_;
80  double ptMax_;
81  int etaBins_;
82  double etaMin_;
83  double etaMax_;
84  bool debug_;
85 
87 
88  std::vector<double> parameters_;
89  std::vector<double> errors_;
90  std::vector<int> errorFactors_;
91 
92  std::vector<double> valuePlusError_;
93  std::vector<double> valueMinusError_;
94 
95  TProfile * sigmaPtVsEta_;
98 
99  TProfile * sigmaPtVsPt_;
102 
103  TProfile * sigmaPtVsEtaDiff_;
104  TProfile * sigmaPtVsPtDiff_;
105 
106  // Mass resolution
107  TProfile * sigmaMassVsEta_;
110 
111  TProfile * sigmaMassVsPt_;
114 
118 
122 };
123 
124 #endif // RESOLUTIONANALYZER_HH
type
Definition: HCALResponse.h:21
std::vector< double > valueMinusError_
std::vector< double > valuePlusError_
reco::Particle::LorentzVector lorentzVector
Definition: GenMuonPair.h:9
double massResolution(const lorentzVector &mu1, const lorentzVector &mu2, const std::vector< double > &parval, const double &sigmaPt1, const double &sigmaPt2)
Modified method to take into account the error.
void drawHistograms(const TProfile *histo, const TProfile *histoPlusErr, const TProfile *histoMinusErr, const TString &type, const TString &yLabel)
ErrorsPropagationAnalyzer(const edm::ParameterSet &)
void analyze(const edm::Event &, const edm::EventSetup &) override