1 #ifndef Validation_RecoMuon_Histograms_H
2 #define Validation_RecoMuon_Histograms_H
110 "Efficiecny as a function of "+title,
112 hSim->GetXaxis()->GetXmin(),
113 hSim->GetXaxis()->GetXmax()
116 me->
getTH1F()->Divide(hReco,hSim,1.,1.,
"b");
119 int nBinsEta = me->
getTH1F()->GetNbinsX();
120 for(
int bin = 1;
bin <= nBinsEta;
bin++) {
121 float nSimHit = hSim->GetBinContent(
bin);
122 float eff = me->
getTH1F()->GetBinContent(
bin);
124 if(nSimHit != 0 && eff <= 1) {
125 error =
sqrt(eff*(1-eff)/nSimHit);
171 double eta = 15.;
int neta = 800;
172 double phi = 12.;
int nphi = 400;
173 double pt = 60.;
int npt = 2000;
208 double rp,
double rpt,
double reta,
double rphi,
double rcharge){
210 Fill(rp, rpt, reta, rphi, rcharge);
231 double rp,
double rpt){
245 void Fill(
double rp,
double rpt,
246 double reta,
double rphi,
double rcharge){
300 200, -2.5,2.5, 5000, -1.5,1.5);
302 200, -2.5,2.5, 5000, -1.,1.);
304 200, -2.5,2.5, 5000, -1.5,1.5);
314 10000, -750,750, 5000, -0.5,0.5);
316 10000, -740,740, 5000, -1.,1.);
318 10000, -1100,1100, 5000, -1.5,1.5);
334 double dx,
double dy,
double dz,
335 double errx,
double erry,
double errz,
338 double rx = dx/
x,
ry = dy/
y, rz = dz/
z;
357 std::cout <<
"NO proper error set for X: "<<errx<<std::endl;
364 std::cout <<
"NO proper error set for Y: "<<erry<<std::endl;
370 std::cout <<
"NO proper error set for Z: "<<errz<<std::endl;
MonitorElement * hResXVsEta
MonitorElement * h2PhiVsPt
double computeEfficiency(HTrackVariables *sim, DQMStore::IBooker &ibooker)
MonitorElement * h2EtaVsPhi
void Fill(double p, double pt, double eta, double phi, double rp, double rpt, double reta, double rphi, double rcharge)
HResolution(DQMStore::IBooker &ibooker, std::string dirName_, std::string name, std::string whereIs)
MonitorElement * hXPullVsPos
HResolution1DRecHit(DQMStore::IBooker &ibooker, const TString &name_, TFile *file)
HResolution(DQMStore::IBooker &ibooker, std::string name, TFile *file)
HResolution1DRecHit(DQMStore::IBooker &ibooker, std::string name)
MonitorElement * h2PhiVsEta
void Fill(double pt, double eta, double phi)
MonitorElement * hYPullVsPos
MonitorElement * hYResVsPhi
std::vector< MonitorElement * > efficiencyHistos
MonitorElement * hPhiVsGen
MonitorElement * hResYVsEta
HTrackVariables(DQMStore::IBooker &ibooker, std::string dirName_, std::string name, std::string whereIs="")
MonitorElement * hResZVsEta
MonitorElement * book1D(Args &&...args)
void Fill(double rp, double rpt, double reta, double rphi, double rcharge)
MonitorElement * computeEfficiency(MonitorElement *reco, MonitorElement *sim, DQMStore::IBooker &ibooker)
MonitorElement * hXResVsPos
void Fill(double p, double pt, double eta, double phi, double rp, double rpt)
MonitorElement * hZPullVsPos
MonitorElement * hPtVsGen
MonitorElement * charge()
double deltaR(double eta1, double eta2, double phi1, double phi2)
void Fill(double p, double pt, double eta, double phi, double charge)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * hXResVsPhi
MonitorElement * book2D(Args &&...args)
MonitorElement * hZResVsPhi
TH1F * getTH1F(void) const
MonitorElement * hEtaVsGen
MonitorElement * hYResVsPos
MonitorElement * h2EtaVsPt
MonitorElement * h2PtVsPhi
void Fill(double x, double y, double z, double dx, double dy, double dz, double errx, double erry, double errz, double eta, double phi)
MonitorElement * hZResVsPos
virtual Int_t Fill(Double_t x, Double_t y)
MonitorElement * h2PtVsEta
void FillDeltaR(double deltaR)