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 791 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 794 of file Histograms.h.

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

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

Definition at line 836 of file Histograms.h.

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

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

Definition at line 859 of file Histograms.h.

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

859  {
860  delete hMassVSPt_;
861  delete hMassVSEta_;
862  delete hMassVSPhiPlus_;
863  delete hMassVSPhiMinus_;
864  delete hMassVSEtaPhiPlus_;
865  delete hMassVSEtaPhiMinus_;
866  delete hMassVSEtaPlus_;
867  delete hMassVSEtaMinus_;
870  delete hMassVSCosThetaCS_;
871  delete hMassVSPhiCS_;
874  delete hMassVSCosThetaCS_prof;
875  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1047
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1045
TH2F * hMassVSEta_
Definition: Histograms.h:1038
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1052
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1055
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1053
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1042
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1046
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1041
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1044
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1040
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1050
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1039
TH2F * hMassVSPt_
Definition: Histograms.h:1037
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1049

Member Function Documentation

virtual void HMassVSPart::Clear ( )
inlinevirtual

Implements Histograms.

Definition at line 1011 of file Histograms.h.

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

1011  {
1012  hMassVSPt_->Clear();
1013  hMassVSEta_->Clear();
1014  hMassVSPhiPlus_->Clear();
1015  hMassVSPhiMinus_->Clear();
1016 
1017  hMassVSEtaPhiPlus_->Clear();
1018  hMassVSEtaPhiMinus_->Clear();
1019  hMassVSEtaPlus_->Clear();
1020  hMassVSEtaMinus_->Clear();
1021 
1022  hMassVSPhiPlusPhiMinus_->Clear();
1023  hMassVSEtaPlusEtaMinus_->Clear();
1024  hMassVSCosThetaCS_->Clear();
1025  hMassVSPhiCS_->Clear();
1026  hMassVSPhiPlusMinusDiff_->Clear();
1027  hMassVSEtaPlusMinusDiff_->Clear();
1028  hMassVSCosThetaCS_prof->Clear();
1029 
1030  //hMassVSPt_prof_->Clear();
1031  //hMassVSEta_prof_->Clear();
1032  //hMassVSPhiPlus_prof_->Clear();
1033  //hMassVSPhiMinus_prof_->Clear();
1034  }
TH2F * hMassVSEtaMinus_
Definition: Histograms.h:1047
TH3F * hMassVSEtaPhiMinus_
Definition: Histograms.h:1045
TH2F * hMassVSEta_
Definition: Histograms.h:1038
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1052
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1055
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1053
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1042
TH2F * hMassVSEtaPlus_
Definition: Histograms.h:1046
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1041
TH3F * hMassVSEtaPhiPlus_
Definition: Histograms.h:1044
TH2F * hMassVSPhiMinus_
Definition: Histograms.h:1040
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1050
TH2F * hMassVSPhiPlus_
Definition: Histograms.h:1039
TH2F * hMassVSPt_
Definition: Histograms.h:1037
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1049
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 877 of file Histograms.h.

References histoStyle::weight.

Referenced by Fill().

878  {
879  Fill(CLHEP::HepLorentzVector(p41.x(),p41.y(),p41.z(),p41.t()),
880  CLHEP::HepLorentzVector(p42.x(),p42.y(),p42.z(),p42.t()), charge, weight);
881  }
virtual void Fill(const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const int charge, const double &weight=1.)
Definition: Histograms.h:877
double charge(const std::vector< uint8_t > &Ampls)
int weight
Definition: histoStyle.py:50
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 883 of file Histograms.h.

References Fill(), and histoStyle::weight.

887  {
888  Fill(CLHEP::HepLorentzVector(p41.x(),p41.y(),p41.z(),p41.t()),
889  CLHEP::HepLorentzVector(p42.x(),p42.y(),p42.z(),p42.t()),
890  CLHEP::HepLorentzVector(p4Res.x(),p4Res.y(),p4Res.z(),p4Res.t()),
891  weight);
892  }
virtual void Fill(const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const int charge, const double &weight=1.)
Definition: Histograms.h:877
int weight
Definition: histoStyle.py:50
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 895 of file Histograms.h.

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

899  {
900 
901  /************************************************************************
902  *
903  * Observable: cos(theta) = 2 Q^-1 (Q^2+Qt^2)^-(1/2) (mu^+ mubar^- - mu^- mubar^+)
904  * (computed in Collins-Soper frame)
905  *
906  ************************************************************************/
907 
908  double costhetaCS, phiCS;
909 
910  CLHEP::HepLorentzVector mu= momentum1;
911  CLHEP::HepLorentzVector mubar= momentum2;
912  CLHEP::HepLorentzVector Q(mu+mubar);
913  double muplus = 1.0/sqrt(2.0) * (mu.e() + mu.z());
914  double muminus = 1.0/sqrt(2.0) * (mu.e() - mu.z());
915  double mubarplus = 1.0/sqrt(2.0) * (mubar.e() + mubar.z());
916  double mubarminus = 1.0/sqrt(2.0) * (mubar.e() - mubar.z());
917  //double costheta = 2.0 / Q.Mag() / sqrt(pow(Q.Mag(), 2) + pow(Q.Pt(), 2)) * (muplus * mubarminus - muminus * mubarplus);
918  costhetaCS = 2.0 / Q.mag() / sqrt(pow(Q.mag(), 2) + pow(Q.perp(), 2)) * (muplus * mubarminus - muminus * mubarplus);
919  if (momentumRes.rapidity()<0) costhetaCS = -costhetaCS;
920 
921 
922 
923 
924  /************************************************************************
925  *
926  * 3) tanphi = (Q^2 + Qt^2)^1/2 / Q (Dt dot R unit) /(Dt dot Qt unit)
927  *
928  ************************************************************************/
929 
930  // unit vector on R direction
931  CLHEP::HepLorentzVector Pbeam(0.,0.,3500.,3500.);
932  CLHEP::Hep3Vector R = Pbeam.vect().cross(Q.vect());
933  CLHEP::Hep3Vector Runit = R.unit();
934 
935 
936  // unit vector on Qt
937  CLHEP::Hep3Vector Qt = Q.vect(); Qt.setZ(0);
938  CLHEP::Hep3Vector Qtunit = Qt.unit();
939 
940 
941  CLHEP::HepLorentzVector D(mu-mubar);
942  CLHEP::Hep3Vector Dt = D.vect(); Dt.setZ(0);
943  double tanphi = sqrt(pow(Q.mag(), 2) + pow(Q.perp(), 2)) / Q.mag() * Dt.dot(Runit) / Dt.dot(Qtunit);
944  if (momentumRes.rapidity()<0) tanphi = -tanphi;
945  phiCS = atan(tanphi);
946 
947  hMassVSPhiCS_->Fill(phiCS,momentumRes.m(), weight);
948  hMassVSCosThetaCS_->Fill(costhetaCS,momentumRes.m(), weight);
949  hMassVSCosThetaCS_prof ->Fill(costhetaCS,momentumRes.m());
950  /*************************************************************************
951  *************************************************************************/
952 
953  hMassVSPhiPlusPhiMinus_->Fill(momentum1.phi(), momentum2.phi(), momentumRes.m(), weight);
954  hMassVSEtaPlusEtaMinus_->Fill(momentum1.eta(), momentum2.eta(), momentumRes.m(), weight);
955 
956  hMassVSPhiPlusMinusDiff_->Fill( (momentum1.phi()-momentum2.phi()), momentumRes.m(), weight);
957  hMassVSEtaPlusMinusDiff_->Fill( (momentum1.eta()-momentum2.eta()), momentumRes.m(), weight);
958  }
TH3F * hMassVSPhiPlusPhiMinus_
Definition: Histograms.h:1052
TProfile * hMassVSCosThetaCS_prof
Definition: Histograms.h:1055
TH3F * hMassVSEtaPlusEtaMinus_
Definition: Histograms.h:1053
TH2F * hMassVSPhiCS_
Definition: Histograms.h:1042
T sqrt(T t)
Definition: SSEVec.h:48
const int mu
Definition: Constants.h:22
const int mubar
Definition: Constants.h:23
TH2F * hMassVSCosThetaCS_
Definition: Histograms.h:1041
TH2F * hMassVSEtaPlusMinusDiff_
Definition: Histograms.h:1050
TH2F * hMassVSPhiPlusMinusDiff_
Definition: Histograms.h:1049
int weight
Definition: histoStyle.py:50
DecomposeProduct< arg, typename Div::arg > D
Definition: Factorize.h:150
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 960 of file Histograms.h.

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

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

Implements Histograms.

Definition at line 985 of file Histograms.h.

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

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

Member Data Documentation

TH2F* HMassVSPart::hMassVSCosThetaCS_
protected

Definition at line 1041 of file Histograms.h.

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

TProfile* HMassVSPart::hMassVSCosThetaCS_prof
protected

Definition at line 1055 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSEta_
protected

Definition at line 1038 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSEtaMinus_
protected

Definition at line 1047 of file Histograms.h.

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

TH3F* HMassVSPart::hMassVSEtaPhiMinus_
protected

Definition at line 1045 of file Histograms.h.

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

TH3F* HMassVSPart::hMassVSEtaPhiPlus_
protected

Definition at line 1044 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSEtaPlus_
protected

Definition at line 1046 of file Histograms.h.

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

TH3F* HMassVSPart::hMassVSEtaPlusEtaMinus_
protected

Definition at line 1053 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSEtaPlusMinusDiff_
protected

Definition at line 1050 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSPhiCS_
protected

Definition at line 1042 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSPhiMinus_
protected

Definition at line 1040 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSPhiPlus_
protected

Definition at line 1039 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSPhiPlusMinusDiff_
protected

Definition at line 1049 of file Histograms.h.

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

TH3F* HMassVSPart::hMassVSPhiPlusPhiMinus_
protected

Definition at line 1052 of file Histograms.h.

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

TH2F* HMassVSPart::hMassVSPt_
protected

Definition at line 1037 of file Histograms.h.

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