ATLAS Offline Software
MomentumPullPlots.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 
10 using namespace xAOD::P4Helpers;
11 namespace Muon{
12 
13 void MomentumPullPlots::initializePlots(){
14 
15  dpt_idme = Book1D("dpt_idme", "idme_dpt;pt_{id} - pt_{me} [GeV];Entries / 0.2 GeV", 100,-100.,100);
16  ddpt_idme = Book1D("ddpt_idme", "idme_ddpt;(pt_{id} - pt_{me})/pt_{id};Entries", 300,-0.5,0.5);
17  dphi_idme = Book1D("dphi_idme", "idme_dphi;#phi_{id} - #phi_{me};Entries", 100,-0.1,0.1);
18  deta_idme = Book1D("deta_idme", "idme_deta;#eta_{id} - #eta_{me};Entries", 100,-0.1,0.1);
19 
20  dpt_cbme = Book1D("dpt_cbme", "cbme_dpt;pt_{cb} - pt_{me} [GeV];Entries / 0.2 GeV", 100,-100.,100);
21  ddpt_cbme = Book1D("ddpt_cbme", "cbme_ddpt;(pt_{cb} - pt_{me})/pt_{cb};Entries", 300,-0.5,0.5);
22  dphi_cbme = Book1D("dphi_cbme", "cbme_dphi;#phi_{cb} - #phi_{me};Entries", 100,-0.1,0.1);
23  deta_cbme = Book1D("deta_cbme", "cbme_deta;#eta_{cb} - #eta_{me};Entries", 100,-0.1,0.1);
24 
25  pt_cbme = Book2D("pt_cbme", "pt_cbme; pt_{cb} [GeV]; pt_{me} [GeV]", 100, 0.0, 100.0, 100, 0.0, 100.0);
26  pt_cbid = Book2D("pt_cbid", "pt_cbid; pt_{cb} [GeV]; pt_{id} [GeV]", 100, 0.0, 100.0, 100, 0.0, 100.0);
27  pt_meid = Book2D("pt_meid", "pt_meid; pt_{me} [GeV]; pt_{id} [GeV]", 100, 0.0, 100.0, 100, 0.0, 100.0);
28 }
29 
31  const xAOD::TrackParticle* cb = mu.trackParticle(xAOD::Muon::CombinedTrackParticle);
32  const xAOD::TrackParticle* id = mu.trackParticle(xAOD::Muon::InnerDetectorTrackParticle);
33 
35 
36  //check correct numbering in Muon.h -> OK!
37  const xAOD::TrackParticle* me = mu.trackParticle(xAOD::Muon::TrackParticleType::ExtrapolatedMuonSpectrometerTrackParticle);
38  if (!me) me = mu.trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle);
39 
40  if (cb && me){
41  dpt_cbme->Fill( (cb->pt() - me->pt())*0.001, weight);
42  ddpt_cbme->Fill( (cb->pt() - me->pt())/cb->pt(), weight);
43  dphi_cbme->Fill( deltaPhi(cb->phi(), me->phi()),weight);
44  deta_cbme->Fill( cb->eta() - me->eta(), weight);
45  pt_cbme->Fill( cb->pt()*0.001, me->pt()*0.001 , weight);
46  }
47 
48  if (id && me){
49  dpt_idme->Fill( (id->pt() - me->pt())*0.001, weight);
50  ddpt_idme->Fill( (id->pt() - me->pt())/id->pt(), weight);
51  dphi_idme->Fill( deltaPhi(id->phi() , me->phi()), weight);
52  deta_idme->Fill( id->eta() - me->eta(), weight);
53  pt_meid->Fill( me->pt()*0.001, id->pt()*0.001 , weight);
54  }
55 
56  if(id && cb)
57  pt_cbid->Fill( cb->pt()*0.001, id->pt()*0.001, weight );
58 }
59 
60 }
xAOD::TrackParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TrackParticle_v1.cxx:73
xAODP4Helpers.h
xAOD::TrackParticle_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: TrackParticle_v1.cxx:77
xAOD::P4Helpers::deltaPhi
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
Definition: xAODP4Helpers.h:69
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
MomentumPullPlots.h
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
TrackParticle.h
lumiFormat.fill
fill
Definition: lumiFormat.py:111
xAOD::P4Helpers
Definition: xAODP4Helpers.h:36
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
TrackParticleContainer.h
xAOD::TrackParticle_v1::phi
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)