11 #include "TDirectory.h"
16 : theName(name.c_str()), where(whereIs.c_str()) {
29 resName +=
"/Resolution";
48 subName +=
"/subHistos";
100 double HTrack::pull(
double rec,
double sim,
double sigmarec) {
return (rec - sim) / sigmarec; }
182 if (simTrack.
momentum().eta() > 0) {
199 if (simTrack.
momentum().eta() > 0) {
225 int simCharge = -simTrack.
type() /
abs(simTrack.
type());
227 double invSimP = (simTrack.
momentum().mag() == 0) ? 0 : simTrack.
momentum().mag();
234 resolution(signedInverseRecMom, simCharge * invSimP),
HResolution * hPull_08_12
double computeEfficiency(HTrackVariables *sim, DQMStore::IBooker &ibooker)
void computeResolutionAndPull(TrajectoryStateOnSurface &vtx, SimTrack &simTrack)
HResolution * hResolution_12_21
HResolution * hTDRResolution
HResolution * hTDRResolution_12_24_plus
CartesianTrajectoryError cartesianError() const
HResolution * hResolution
virtual void setCurrentFolder(std::string const &fullpath)
HResolution * hTDRResolution_12_24
HResolution * hTDRResolution_40_70
HResolution * hResolution_12_24_plus
double resolution(double rec, double sim)
Sin< T >::type sin(const T &t)
Geom::Phi< T > phi() const
void computeTDRResolution(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
HResolution * hResolution_10_40
HResolution * hPull_10_40
HResolution * hResolution_12_24
void computeResolution(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
TrackCharge charge() const
HResolution * hResolution_12_21_plus
const CurvilinearTrajectoryError & curvilinearError() const
HResolution * hTDRResolution_5_10
HResolution * hResolution_12_24_minus
Geom::Theta< T > theta() const
HResolution * hResolution_5_10
HTrackVariables * hVariables
HResolution * hTDRResolution_12_21_minus
HResolution * hPull_12_21
HResolution * hResolution_08_12
HResolution * hTDRResolution_12_21
FreeTrajectoryState const * freeState(bool withErrors=true) const
HResolution * hTDRResolution_12_24_minus
Int_t Fill(Double_t x, Double_t y) override
Abs< T >::type abs(const T &t)
HResolution * hResolution_40_70
HResolution * hResolution_08
HResolution * hPull_70_100
void Fill(TrajectoryStateOnSurface &)
GlobalVector momentum() const
HResolution * hPull_40_70
const AlgebraicSymMatrix66 & matrix() const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
HResolution * hTDRResolution_08_12
HResolution * hPull_12_24_minus
HResolution * hPull_12_21_minus
void Fill(double p, double pt, double eta, double phi, double charge)
HResolution * hPull_12_24
double computeEfficiency(HTrackVariables *sim, DQMStore::IBooker &)
HResolution * hTDRResolution_70_100
HResolution * hTDRResolution_08
int type() const
particle type (HEP PDT convension)
HResolution * hPull_12_24_plus
const AlgebraicSymMatrix55 & matrix() const
HTrack(DQMStore::IBooker &, std::string, std::string name, std::string whereIs="")
double pull(double rec, double sim, double sigmarec)
const math::XYZTLorentzVectorD & momentum() const
HResolution * hResolution_70_100
HResolution * hTDRResolution_10_40
void computePull(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso)
double signedInverseMomentum() const
Power< A, B >::type pow(const A &a, const B &b)
void FillDeltaR(double deltaR)
HResolution * hResolution_12_21_minus
HResolution * hPull_12_21_plus
HResolution * hTDRResolution_12_21_plus