CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes
HMassVSPart Class Reference

#include <Histograms.h>

Inheritance diagram for HMassVSPart:
Histograms

Public Member Functions

virtual void Clear ()
 
virtual void Fill (const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const int charge, const double &weight=1.)
 
virtual void Fill (const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const reco::Particle::LorentzVector &p4Res, const double &weight=1.)
 
virtual void Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2, const CLHEP::HepLorentzVector &momentumRes, const double &weight=1.)
 Used to fill 2D histograms for comparison of opposite charge muons quantities. More...
 
virtual void Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2, const int charge, const double &weight=1.)
 
 HMassVSPart (const TString &name, const double &minMass=0., const double &maxMass=150., const double maxPt=100.)
 
 HMassVSPart (const TString &name, TFile *file)
 
virtual void Write ()
 
 ~HMassVSPart ()
 
- Public Member Functions inherited from Histograms
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 ()
 

Protected Attributes

TH2F * hMassVSCosThetaCS_
 
TProfile * hMassVSCosThetaCS_prof
 
TH2F * hMassVSEta_
 
TH2F * hMassVSEtaMinus_
 
TH3F * hMassVSEtaPhiMinus_
 
TH3F * hMassVSEtaPhiPlus_
 
TH2F * hMassVSEtaPlus_
 
TH3F * hMassVSEtaPlusEtaMinus_
 
TH2F * hMassVSEtaPlusMinusDiff_
 
TH2F * hMassVSPhiCS_
 
TH2F * hMassVSPhiMinus_
 
TH2F * hMassVSPhiPlus_
 
TH2F * hMassVSPhiPlusMinusDiff_
 
TH3F * hMassVSPhiPlusPhiMinus_
 
TH2F * hMassVSPt_
 
- Protected Attributes inherited from Histograms
TDirectory * histoDir_
 
TString name_
 
TFile * outputFile_
 
double theWeight_
 

Detailed Description

Definition at line 792 of file Histograms.h.

Constructor & Destructor Documentation

HMassVSPart::HMassVSPart ( const TString &  name,
const double &  minMass = 0.,
const double &  maxMass = 150.,
const double  maxPt = 100. 
)
inline

Definition at line 795 of file Histograms.h.

References hMassVSCosThetaCS_, hMassVSCosThetaCS_prof, hMassVSEta_, hMassVSEtaMinus_, hMassVSEtaPhiMinus_, hMassVSEtaPhiPlus_, hMassVSEtaPlus_, hMassVSEtaPlusEtaMinus_, hMassVSEtaPlusMinusDiff_, hMassVSPhiCS_, hMassVSPhiMinus_, hMassVSPhiPlus_, hMassVSPhiPlusMinusDiff_, hMassVSPhiPlusPhiMinus_, hMassVSPt_, HLT_FULL_cff::maxMass, HLT_FULL_cff::minMass, mergeVDriftHistosByStation::name, and Histograms::name_.

795  {
796  name_ = name;
797 
798  // Kinematical variables
799  // ---------------------
800  hMassVSPt_ = new TH2F( name+"_MassVSPt", "resonance mass vs muon transverse momentum", 200, 0., maxPt, 6000, minMass, maxMass );
801 
802  hMassVSEta_ = new TH2F( name+"_MassVSEta", "resonance mass vs muon pseudorapidity", 64, -6.4, 6.4, 6000, minMass, maxMass );
803  hMassVSEtaPlus_ = new TH2F( name+"_MassVSEtaPlus", "resonance mass vs muon+ pseudorapidity", 64, -6.4, 6.4, 6000, minMass, maxMass );
804  hMassVSEtaMinus_ = new TH2F( name+"_MassVSEtaMinus", "resonance mass vs muon- pseudorapidity", 64, -6.4, 6.4, 6000, minMass, maxMass );
805 
806  hMassVSPhiPlus_ = new TH2F( name+"_MassVSPhiPlus", "resonance mass vs muon+ phi angle", 64, -3.2, 3.2, 6000, minMass, maxMass );
807  hMassVSPhiMinus_ = new TH2F( name+"_MassVSPhiMinus", "resonance mass vs muon- phi angle", 64, -3.2, 3.2, 6000, minMass, maxMass );
808 
809 
810  // J/Psi mass -----
811 // hMassVSEtaPhiPlus_ = new TH3F( name+"_MassVSEtaPhiPlus", "resonance mass vs muon+ phi/pseudorapidity",6, -3.2, 3.2, 20, -2.5, 2.5, 6000, minMass, maxMass );
812 // hMassVSEtaPhiMinus_ = new TH3F( name+"_MassVSEtaPhiMinus", "resonance mass vs muon- phi/pseudorapidity", 6, -3.2, 3.2, 20, -2.5, 2.5, 6000, minMass, maxMass );
813 
814  //Z mass -----------
815  hMassVSEtaPhiPlus_ = new TH3F( name+"_MassVSEtaPhiPlus", "resonance mass vs muon+ phi/pseudorapidity", 16, -3.2, 3.2, 20, -2.4, 2.4, 300, minMass, maxMass );
816  hMassVSEtaPhiMinus_ = new TH3F( name+"_MassVSEtaPhiMinus", "resonance mass vs muon- phi/pseudorapidity", 16, -3.2, 3.2, 20, -2.4, 2.4, 300, minMass, maxMass );
817 
818 
819  hMassVSCosThetaCS_ = new TH2F( name+"_MassVSCosThetaCS", "resonance mass vs cos(theta) (CS frame)", 40, -1., 1., 6000, minMass, maxMass );
820  hMassVSPhiCS_ = new TH2F( name+"_MassVSPhiCS", "resonance mass vs phi (CS frame)", 64, -3.2, 3.2, 6000, minMass, maxMass );
821 
822 
823  hMassVSPhiPlusPhiMinus_ = new TH3F( name+"_MassVSPhiPlusPhiMinus", "resonance mass vs muon+ phi/muon- phi",16, -3.2, 3.2,16, -3.2, 3.2, 6000, minMass, maxMass );
824  hMassVSEtaPlusEtaMinus_ = new TH3F( name+"_MassVSEtaPlusEtaMinus", "resonance mass vs muon+ eta/muon- eta",16, -3.2, 3.2,16, -3.2, 3.2, 6000, minMass, maxMass );
825 
826 
827  hMassVSPhiPlusMinusDiff_ = new TH2F( name+"_MassVSPhiPlusMinusDiff", "resonance mass vs delta phi between mu+/mu-", 64, -6.4, 6.4, 6000, minMass, maxMass );
828  hMassVSEtaPlusMinusDiff_ = new TH2F( name+"_MassVSEtaPlusMinusDiff", "resonance mass vs delta pseudorapidity between mu+/mu-", 32, -4.4, 4.4, 6000, minMass, maxMass );
829  hMassVSCosThetaCS_prof = new TProfile (name+"_MassVScosTheta_prof", "resonance mass vs cosTheta", 40, -1., 1., 85., 95.);
830 
831  //hMassVSPt_prof = new TProfile (name+"_MassVSPt_prof", "resonance mass vs muon transverse momentum", 100, 0., 200., minMass, maxMass);
832  //hMassVSEta_prof = new TProfile (name+"_MassVSEta_prof", "resonance mass vs muon pseudorapidity", 30, -6., 6., minMass, maxMass);
833  //hMassVSPhiPlus_prof = new TProfile (name+"_MassVSPhiPlus_prof", "resonance mass vs muon+ phi angle", 32, -3.2, 3.2, minMass, maxMass);
834  //hMassVSPhiMinus_prof = new TProfile (name+"_MassVSPhiMinus_prof", "resonance mass vs muon- phi angle", 32, -3.2, 3.2, minMass, maxMass);
835  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1048
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1046
TH2F * hMassVSEta_
Definition: Histograms.h:1039
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1053
TString name_
Definition: Histograms.h:122
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1056
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1054
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1043
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1047
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1042
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1045
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1041
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1051
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1040
TH2F * hMassVSPt_
Definition: Histograms.h:1038
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1050
HMassVSPart::HMassVSPart ( const TString &  name,
TFile *  file 
)
inline

Definition at line 837 of file Histograms.h.

References hMassVSCosThetaCS_prof, hMassVSEta_, hMassVSEtaMinus_, hMassVSEtaPhiMinus_, hMassVSEtaPhiPlus_, hMassVSEtaPlus_, hMassVSEtaPlusMinusDiff_, hMassVSPhiMinus_, hMassVSPhiPlus_, hMassVSPhiPlusMinusDiff_, hMassVSPt_, mergeVDriftHistosByStation::name, and Histograms::name_.

837  {
838  name_=name;
839  hMassVSPt_ = (TH2F *) file->Get(name+"_MassVSPt");
840  hMassVSEta_ = (TH2F *) file->Get(name+"_MassVSEta");
841 
842  hMassVSEtaPhiPlus_ = (TH3F *) file->Get(name+"_MassVSEtaPlus");
843  hMassVSEtaPhiMinus_ = (TH3F *) file->Get(name+"_MassVSEtaMinus");
844  hMassVSEtaPlus_ = (TH2F *) file->Get(name+"_MassVSEtaPlus");
845  hMassVSEtaMinus_ = (TH2F *) file->Get(name+"_MassVSEtaMinus");
846 
847  hMassVSPhiPlusMinusDiff_ = (TH2F *) file->Get(name+"_MassVSPhiPlusMinusDiff");
848  hMassVSEtaPlusMinusDiff_ = (TH2F *) file->Get(name+"_MassVSEtaPlusMinusDiff");
849 
850  hMassVSPhiPlus_ = (TH2F *) file->Get(name+"_MassVSPhiPlus");
851  hMassVSPhiMinus_ = (TH2F *) file->Get(name+"_MassVSPhiMinus");
852 
853  hMassVSCosThetaCS_prof = (TProfile *) file->Get(name+"_MassVScosTheta_prof");
854  //hMassVSPt_prof = (TProfile *) file->Get(name+"_MassVSPt_prof");
855  //hMassVSEta_prof = (TProfile *) file->Get(name+"_MassVSEta_prof");
856  //hMassVSPhiPlus_prof = (TProfile *) file->Get(name+"_MassVSPhiPlus_prof");
857  //hMassVSPhiMinus_prof = (TProfile *) file->Get(name+"_MassVSPhiMinus_prof");
858  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1048
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1046
TH2F * hMassVSEta_
Definition: Histograms.h:1039
TString name_
Definition: Histograms.h:122
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1056
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1047
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1045
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1041
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1051
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1040
TH2F * hMassVSPt_
Definition: Histograms.h:1038
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1050
HMassVSPart::~HMassVSPart ( )
inline

Definition at line 860 of file Histograms.h.

References hMassVSCosThetaCS_, hMassVSCosThetaCS_prof, hMassVSEta_, hMassVSEtaMinus_, hMassVSEtaPhiMinus_, hMassVSEtaPhiPlus_, hMassVSEtaPlus_, hMassVSEtaPlusEtaMinus_, hMassVSEtaPlusMinusDiff_, hMassVSPhiCS_, hMassVSPhiMinus_, hMassVSPhiPlus_, hMassVSPhiPlusMinusDiff_, hMassVSPhiPlusPhiMinus_, and hMassVSPt_.

860  {
861  delete hMassVSPt_;
862  delete hMassVSEta_;
863  delete hMassVSPhiPlus_;
864  delete hMassVSPhiMinus_;
865  delete hMassVSEtaPhiPlus_;
866  delete hMassVSEtaPhiMinus_;
867  delete hMassVSEtaPlus_;
868  delete hMassVSEtaMinus_;
871  delete hMassVSCosThetaCS_;
872  delete hMassVSPhiCS_;
875  delete hMassVSCosThetaCS_prof;
876  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1048
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1046
TH2F * hMassVSEta_
Definition: Histograms.h:1039
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1053
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1056
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1054
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1043
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1047
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1042
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1045
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1041
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1051
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1040
TH2F * hMassVSPt_
Definition: Histograms.h:1038
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1050

Member Function Documentation

virtual void HMassVSPart::Clear ( )
inlinevirtual

Implements Histograms.

Definition at line 1012 of file Histograms.h.

References hMassVSCosThetaCS_, hMassVSCosThetaCS_prof, hMassVSEta_, hMassVSEtaMinus_, hMassVSEtaPhiMinus_, hMassVSEtaPhiPlus_, hMassVSEtaPlus_, hMassVSEtaPlusEtaMinus_, hMassVSEtaPlusMinusDiff_, hMassVSPhiCS_, hMassVSPhiMinus_, hMassVSPhiPlus_, hMassVSPhiPlusMinusDiff_, hMassVSPhiPlusPhiMinus_, and hMassVSPt_.

1012  {
1013  hMassVSPt_->Clear();
1014  hMassVSEta_->Clear();
1015  hMassVSPhiPlus_->Clear();
1016  hMassVSPhiMinus_->Clear();
1017 
1018  hMassVSEtaPhiPlus_->Clear();
1019  hMassVSEtaPhiMinus_->Clear();
1020  hMassVSEtaPlus_->Clear();
1021  hMassVSEtaMinus_->Clear();
1022 
1023  hMassVSPhiPlusPhiMinus_->Clear();
1024  hMassVSEtaPlusEtaMinus_->Clear();
1025  hMassVSCosThetaCS_->Clear();
1026  hMassVSPhiCS_->Clear();
1027  hMassVSPhiPlusMinusDiff_->Clear();
1028  hMassVSEtaPlusMinusDiff_->Clear();
1029  hMassVSCosThetaCS_prof->Clear();
1030 
1031  //hMassVSPt_prof_->Clear();
1032  //hMassVSEta_prof_->Clear();
1033  //hMassVSPhiPlus_prof_->Clear();
1034  //hMassVSPhiMinus_prof_->Clear();
1035  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1048
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1046
TH2F * hMassVSEta_
Definition: Histograms.h:1039
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1053
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1056
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1054
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1043
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1047
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1042
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1045
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1041
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1051
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1040
TH2F * hMassVSPt_
Definition: Histograms.h:1038
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1050
virtual void HMassVSPart::Fill ( const reco::Particle::LorentzVector p41,
const reco::Particle::LorentzVector p42,
const int  charge,
const double &  weight = 1. 
)
inlinevirtual

Reimplemented from Histograms.

Definition at line 878 of file Histograms.h.

References puppiForMET_cff::weight.

Referenced by Fill().

879  {
880  Fill(CLHEP::HepLorentzVector(p41.x(),p41.y(),p41.z(),p41.t()),
881  CLHEP::HepLorentzVector(p42.x(),p42.y(),p42.z(),p42.t()), charge, weight);
882  }
virtual void Fill(const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const int charge, const double &weight=1.)
Definition: Histograms.h:878
virtual void HMassVSPart::Fill ( const reco::Particle::LorentzVector p41,
const reco::Particle::LorentzVector p42,
const reco::Particle::LorentzVector p4Res,
const double &  weight = 1. 
)
inlinevirtual

Reimplemented from Histograms.

Definition at line 884 of file Histograms.h.

References Fill(), and puppiForMET_cff::weight.

888  {
889  Fill(CLHEP::HepLorentzVector(p41.x(),p41.y(),p41.z(),p41.t()),
890  CLHEP::HepLorentzVector(p42.x(),p42.y(),p42.z(),p42.t()),
891  CLHEP::HepLorentzVector(p4Res.x(),p4Res.y(),p4Res.z(),p4Res.t()),
892  weight);
893  }
virtual void Fill(const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const int charge, const double &weight=1.)
Definition: Histograms.h:878
virtual void HMassVSPart::Fill ( const CLHEP::HepLorentzVector &  momentum1,
const CLHEP::HepLorentzVector &  momentum2,
const CLHEP::HepLorentzVector &  momentumRes,
const double &  weight = 1. 
)
inlinevirtual

Used to fill 2D histograms for comparison of opposite charge muons quantities.

Reimplemented from Histograms.

Definition at line 896 of file Histograms.h.

References hMassVSCosThetaCS_, hMassVSCosThetaCS_prof, hMassVSEtaPlusEtaMinus_, hMassVSEtaPlusMinusDiff_, hMassVSPhiCS_, hMassVSPhiPlusMinusDiff_, hMassVSPhiPlusPhiMinus_, RPCpg::mu, RPCpg::mubar, funct::pow(), class-composition::Q, dttmaxenums::R, mathSSE::sqrt(), and puppiForMET_cff::weight.

900  {
901 
902  /************************************************************************
903  *
904  * Observable: cos(theta) = 2 Q^-1 (Q^2+Qt^2)^-(1/2) (mu^+ mubar^- - mu^- mubar^+)
905  * (computed in Collins-Soper frame)
906  *
907  ************************************************************************/
908 
909  double costhetaCS, phiCS;
910 
911  CLHEP::HepLorentzVector mu= momentum1;
912  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());
918  //double costheta = 2.0 / Q.Mag() / sqrt(pow(Q.Mag(), 2) + pow(Q.Pt(), 2)) * (muplus * mubarminus - muminus * mubarplus);
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;
921 
922 
923 
924 
925  /************************************************************************
926  *
927  * 3) tanphi = (Q^2 + Qt^2)^1/2 / Q (Dt dot R unit) /(Dt dot Qt unit)
928  *
929  ************************************************************************/
930 
931  // unit vector on R direction
932  CLHEP::HepLorentzVector Pbeam(0.,0.,3500.,3500.);
933  CLHEP::Hep3Vector R = Pbeam.vect().cross(Q.vect());
934  CLHEP::Hep3Vector Runit = R.unit();
935 
936 
937  // unit vector on Qt
938  CLHEP::Hep3Vector Qt = Q.vect(); Qt.setZ(0);
939  CLHEP::Hep3Vector Qtunit = Qt.unit();
940 
941 
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);
947 
948  hMassVSPhiCS_->Fill(phiCS,momentumRes.m(), weight);
949  hMassVSCosThetaCS_->Fill(costhetaCS,momentumRes.m(), weight);
950  hMassVSCosThetaCS_prof ->Fill(costhetaCS,momentumRes.m());
951  /*************************************************************************
952  *************************************************************************/
953 
954  hMassVSPhiPlusPhiMinus_->Fill(momentum1.phi(), momentum2.phi(), momentumRes.m(), weight);
955  hMassVSEtaPlusEtaMinus_->Fill(momentum1.eta(), momentum2.eta(), momentumRes.m(), weight);
956 
957  hMassVSPhiPlusMinusDiff_->Fill( (momentum1.phi()-momentum2.phi()), momentumRes.m(), weight);
958  hMassVSEtaPlusMinusDiff_->Fill( (momentum1.eta()-momentum2.eta()), momentumRes.m(), weight);
959  }
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1053
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1056
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1054
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1043
T sqrt(T t)
Definition: SSEVec.h:18
const int mu
Definition: Constants.h:22
const int mubar
Definition: Constants.h:23
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1042
DecomposeProduct< arg, typename Div::arg > D
Definition: Factorize.h:150
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1051
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1050
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
virtual void HMassVSPart::Fill ( const CLHEP::HepLorentzVector &  momentum1,
const CLHEP::HepLorentzVector &  momentum2,
const int  charge,
const double &  weight = 1. 
)
inlinevirtual

Reimplemented from Histograms.

Definition at line 961 of file Histograms.h.

References hMassVSEta_, hMassVSEtaMinus_, hMassVSEtaPhiMinus_, hMassVSEtaPhiPlus_, hMassVSEtaPlus_, hMassVSPhiMinus_, hMassVSPhiPlus_, hMassVSPt_, LogDebug, and puppiForMET_cff::weight.

962  {
963  hMassVSPt_->Fill(momentum1.perp(),momentum2.m(), weight);
964  //hMassVSPt_prof_->Fill(momentum1.perp(),momentum2.m());
965 
966 
967  hMassVSEta_->Fill(momentum1.eta(),momentum2.m(), weight);
968  //hMassVSEta_prof_->Fill(momentum1.eta(),momentum2.m());
969 
970  if(charge>0){
971  hMassVSPhiPlus_->Fill(momentum1.phi(),momentum2.m(), weight);
972  hMassVSEtaPlus_->Fill(momentum1.eta(),momentum2.m(), weight);
973  hMassVSEtaPhiPlus_->Fill(momentum1.phi(),momentum1.eta(),momentum2.m(), weight);
974  }
975  else if(charge<0){
976  hMassVSPhiMinus_->Fill(momentum1.phi(),momentum2.m(), weight);
977  hMassVSEtaMinus_->Fill(momentum1.eta(),momentum2.m(), weight);
978  hMassVSEtaPhiMinus_->Fill(momentum1.phi(),momentum1.eta(),momentum2.m(), weight);
979  }
980  else {
981  LogDebug("Histograms") << "HMassVSPart: wrong charge value = " << charge << std::endl;
982  abort();
983  }
984  }
#define LogDebug(id)
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1048
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1046
TH2F * hMassVSEta_
Definition: Histograms.h:1039
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1047
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1045
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1041
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1040
TH2F * hMassVSPt_
Definition: Histograms.h:1038
virtual void HMassVSPart::Write ( )
inlinevirtual

Implements Histograms.

Definition at line 986 of file Histograms.h.

References hMassVSCosThetaCS_, hMassVSCosThetaCS_prof, hMassVSEta_, hMassVSEtaMinus_, hMassVSEtaPhiMinus_, hMassVSEtaPhiPlus_, hMassVSEtaPlus_, hMassVSEtaPlusEtaMinus_, hMassVSEtaPlusMinusDiff_, hMassVSPhiCS_, hMassVSPhiMinus_, hMassVSPhiPlus_, hMassVSPhiPlusMinusDiff_, hMassVSPhiPlusPhiMinus_, and hMassVSPt_.

986  {
987  hMassVSPt_->Write();
988  hMassVSEta_->Write();
989  hMassVSPhiPlus_->Write();
990  hMassVSPhiMinus_->Write();
991 
992  hMassVSEtaPhiPlus_->Write();
993  hMassVSEtaPhiMinus_->Write();
994  hMassVSEtaPlus_->Write();
995  hMassVSEtaMinus_->Write();
996 
997  hMassVSPhiPlusPhiMinus_->Write();
998  hMassVSEtaPlusEtaMinus_->Write();
999  hMassVSCosThetaCS_->Write();
1000  hMassVSPhiCS_->Write();
1001 
1002  hMassVSPhiPlusMinusDiff_->Write();
1003  hMassVSEtaPlusMinusDiff_->Write();
1004  hMassVSCosThetaCS_prof->Write();
1005 
1006  //hMassVSPt_prof_->Write();
1007  //hMassVSEta_prof_->Write();
1008  //hMassVSPhiPlus_prof_->Write();
1009  //hMassVSPhiMinus_prof_->Write();
1010  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1048
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1046
TH2F * hMassVSEta_
Definition: Histograms.h:1039
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1053
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1056
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1054
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1043
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1047
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1042
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1045
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1041
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1051
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1040
TH2F * hMassVSPt_
Definition: Histograms.h:1038
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1050

Member Data Documentation

TH2F* HMassVSPart::hMassVSCosThetaCS_
protected

Definition at line 1042 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TProfile* HMassVSPart::hMassVSCosThetaCS_prof
protected

Definition at line 1056 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSEta_
protected

Definition at line 1039 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSEtaMinus_
protected

Definition at line 1048 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH3F* HMassVSPart::hMassVSEtaPhiMinus_
protected

Definition at line 1046 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH3F* HMassVSPart::hMassVSEtaPhiPlus_
protected

Definition at line 1045 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSEtaPlus_
protected

Definition at line 1047 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH3F* HMassVSPart::hMassVSEtaPlusEtaMinus_
protected

Definition at line 1054 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSEtaPlusMinusDiff_
protected

Definition at line 1051 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSPhiCS_
protected

Definition at line 1043 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSPhiMinus_
protected

Definition at line 1041 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSPhiPlus_
protected

Definition at line 1040 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSPhiPlusMinusDiff_
protected

Definition at line 1050 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH3F* HMassVSPart::hMassVSPhiPlusPhiMinus_
protected

Definition at line 1053 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().

TH2F* HMassVSPart::hMassVSPt_
protected

Definition at line 1038 of file Histograms.h.

Referenced by Clear(), Fill(), HMassVSPart(), Write(), and ~HMassVSPart().