|
void | Clear () override |
|
void | Fill (const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const int charge, const double &weight=1.) override |
|
void | Fill (const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const reco::Particle::LorentzVector &p4Res, const double &weight=1.) override |
|
void | Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2, const CLHEP::HepLorentzVector &momentumRes, const double &weight=1.) override |
| Used to fill 2D histograms for comparison of opposite charge muons quantities. More...
|
|
void | Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2, const int charge, const double &weight=1.) override |
|
| HMassVSPart (const TString &name, const double &minMass=0., const double &maxMass=150., const double maxPt=100.) |
|
| HMassVSPart (const TString &name, TFile *file) |
|
void | Write () override |
|
| ~HMassVSPart () override |
|
virtual void | Fill (const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2) |
|
virtual void | Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2) |
|
virtual void | Fill (const CLHEP::HepLorentzVector &p1, const reco::Particle::LorentzVector &p2) |
|
virtual void | Fill (const reco::Particle::LorentzVector &p4, const double &weight=1.) |
|
virtual void | Fill (const reco::Particle::LorentzVector &p4, const int charge, const double &weight=1.) |
|
virtual void | Fill (const CLHEP::HepLorentzVector &momentum, const int charge, const double &weight=1.) |
|
virtual void | Fill (const reco::Particle::LorentzVector &p4, const double &resValue, const int charge) |
|
virtual void | Fill (const reco::Particle::LorentzVector &p4, const double &genValue, const double recValue, const int charge) |
|
virtual void | Fill (const CLHEP::HepLorentzVector &p, const double &likeValue) |
|
virtual void | Fill (const unsigned int number) |
|
virtual void | Fill (const reco::Particle::LorentzVector &recoP1, const int charge1, const reco::Particle::LorentzVector &genP1, const reco::Particle::LorentzVector &recoP2, const int charge2, const reco::Particle::LorentzVector &genP2, const double &recoMass, const double &genMass) |
|
virtual void | Fill (const reco::Particle::LorentzVector &recoP1, const int charge1, const reco::Particle::LorentzVector &recoP2, const int charge2, const double &recoMass, const double &genMass) |
|
virtual void | Fill (const reco::Particle::LorentzVector &recoP1, const reco::Particle::LorentzVector &genP1, const reco::Particle::LorentzVector &recoP2, const reco::Particle::LorentzVector &genP2) |
|
virtual void | Fill (const double &x, const double &y) |
|
virtual void | Fill (const double &x, const double &y, const double &a, const double &b) |
|
virtual double | Get (const reco::Particle::LorentzVector &recoP1, const TString &covarianceName) |
|
virtual TString | GetName () |
|
| Histograms () |
|
| Histograms (const TString &name) |
|
| Histograms (TFile *outputFile, const TString &name) |
|
virtual void | SetWeight (double weight) |
|
virtual | ~Histograms () |
|
Definition at line 792 of file Histograms.h.
void HMassVSPart::Fill |
( |
const CLHEP::HepLorentzVector & |
momentum1, |
|
|
const CLHEP::HepLorentzVector & |
momentum2, |
|
|
const CLHEP::HepLorentzVector & |
momentumRes, |
|
|
const double & |
weight = 1. |
|
) |
| |
|
inlineoverridevirtual |
Used to fill 2D histograms for comparison of opposite charge muons quantities.
Reimplemented from Histograms.
Definition at line 896 of file Histograms.h.
References RPCpg::mu, RPCpg::mubar, BPhysicsValidation_cfi::muminus, BPhysicsValidation_cfi::muplus, funct::pow(), class-composition::Q, dttmaxenums::R, mathSSE::sqrt(), and mps_merge::weight.
909 double costhetaCS, phiCS;
911 const CLHEP::HepLorentzVector&
mu= momentum1;
912 const CLHEP::HepLorentzVector&
mubar= momentum2;
913 CLHEP::HepLorentzVector
Q(mu+mubar);
914 double muplus = 1.0/
sqrt(2.0) * (mu.e() + mu.z());
915 double muminus = 1.0/
sqrt(2.0) * (mu.e() - mu.z());
916 double mubarplus = 1.0/
sqrt(2.0) * (mubar.e() + mubar.z());
917 double mubarminus = 1.0/
sqrt(2.0) * (mubar.e() - mubar.z());
919 costhetaCS = 2.0 /
Q.mag() /
sqrt(
pow(
Q.mag(), 2) +
pow(
Q.perp(), 2)) * (muplus * mubarminus - muminus * mubarplus);
920 if (momentumRes.rapidity()<0) costhetaCS = -costhetaCS;
932 CLHEP::HepLorentzVector Pbeam(0.,0.,3500.,3500.);
933 CLHEP::Hep3Vector
R = Pbeam.vect().cross(
Q.vect());
934 CLHEP::Hep3Vector Runit = R.unit();
938 CLHEP::Hep3Vector Qt =
Q.vect(); Qt.setZ(0);
939 CLHEP::Hep3Vector Qtunit = Qt.unit();
942 CLHEP::HepLorentzVector
D(mu-mubar);
943 CLHEP::Hep3Vector Dt =
D.vect(); Dt.setZ(0);
944 double tanphi =
sqrt(
pow(
Q.mag(), 2) +
pow(
Q.perp(), 2)) /
Q.mag() * Dt.dot(Runit) / Dt.dot(Qtunit);
945 if (momentumRes.rapidity()<0) tanphi = -tanphi;
946 phiCS = atan(tanphi);
TH3F * hMassVSPhiPlusPhiMinus_
TProfile * hMassVSCosThetaCS_prof
TH3F * hMassVSEtaPlusEtaMinus_
TH2F * hMassVSCosThetaCS_
DecomposeProduct< arg, typename Div::arg > D
TH2F * hMassVSEtaPlusMinusDiff_
TH2F * hMassVSPhiPlusMinusDiff_
Power< A, B >::type pow(const A &a, const B &b)