ATLAS Offline Software
InDetGlobalBeamSpotMonTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // $Id: $
6 
7 #include <sstream>
8 #include "LWHists/TH1F_LW.h"
9 #include "LWHists/TH2F_LW.h"
10 
11 
12 
13 #include "StoreGate/ReadHandle.h"
14 
20 #include "VxVertex/VxContainer.h"
21 
23 
25 
28 
29 
30 InDetGlobalBeamSpotMonTool::InDetGlobalBeamSpotMonTool( const std::string & type, const std::string & name, const IInterface* parent )
32  m_hTrNPt(nullptr),
33  m_hTrPt(nullptr),
34  m_hTrDPhi(nullptr),
35  m_hTrDPhiCorr(nullptr),
36  m_hBsX(nullptr),
37  m_hBsY(nullptr),
38  m_hBsZ(nullptr),
39  m_hBsTiltX(nullptr),
40  m_hBsTiltY(nullptr),
41  m_hPvN(nullptr),
42  m_hPvNPriVtx(nullptr),
43  m_hPvNPileupVtx(nullptr),
44  m_hPvX(nullptr),
45  m_hPvY(nullptr),
46  m_hPvZ(nullptr),
47  m_hPvErrX(nullptr),
48  m_hPvErrY(nullptr),
49  m_hPvErrZ(nullptr),
50  m_hPvChiSqDoF(nullptr),
51  m_hPvXZ(nullptr),
52  m_hPvYZ(nullptr),
53  m_hPvYX(nullptr),
54  m_hPvNTracksAll(nullptr),
55  m_hPvNTracks(nullptr),
56  m_hPvTrackPt(nullptr),
57  m_hPvTrackEta(nullptr)
58 {
59  declareProperty("useBeamspot",m_useBeamspot=true);
60  declareProperty("vxContainerWithBeamConstraint",m_vxContainerWithBeamConstraint=false);
61  declareProperty("minTracksPerVtx",m_minTracksPerVtx=4);
62  declareProperty("minTrackPt",m_minTrackPt=500); // MeV
63  declareProperty("histFolder",m_histFolder="InDetGlobal/BeamSpot");
64 }
65 
66 
68 
69 
71  StatusCode sc;
73  if(!sc.isSuccess()) return sc;
75 
76  ATH_CHECK(m_vxContainerName.initialize());
78 
79  return StatusCode::SUCCESS;
80 }
81 
82 
84 
85  MonGroup al_beamspot_shift( this, m_histFolder, run, ATTRIB_UNMANAGED );
86  MonGroup al_beamspot_expert( this, m_histFolder, run, ATTRIB_UNMANAGED );
87 
89  // book histograms that are only made in the online environment...
90  }
91 
93  // book histograms that are only relevant for cosmics data...
94  }
95 
96 
97  if( newRunFlag() ) {
98 
99  // Histograms for track-based beam spot monitoring
100  m_hTrDPhi = makeAndRegisterTH2F(al_beamspot_shift,"trkDPhi","DCA vs Phi;#varphi (rad);d_{0} (#mum)",100,-3.5,3.5,100,-1000,1000);
101 
102  m_hTrPt = makeAndRegisterTH1F(al_beamspot_expert,"trkPt","Track Pt;P_{t} (GeV)",100,0,20);
103  m_hTrNPt = makeAndRegisterTH1F(al_beamspot_expert,"trkNPt","Number of Tracks per event (after Pt cut);Number of tracks",100,0,1000);
104 
105  // Histograms of assumed beam spot position
106  if (m_useBeamspot) {
107  m_hTrDPhiCorr = makeAndRegisterTH2F(al_beamspot_shift,"trkDPhiCorr","DCA vs Phi wrt Beamspot;#varphi (rad);d_{0} (#mum)",100,-3.5,3.5,100,-500,500);
108  m_hBsX = makeAndRegisterTH1F(al_beamspot_shift,"bsX","Beam spot position: x;x (mm)",100,-10,10);
109  m_hBsY = makeAndRegisterTH1F(al_beamspot_shift,"bsY","Beam spot position: y;y (mm)",100,-10,10);
110  m_hBsZ = makeAndRegisterTH1F(al_beamspot_shift,"bsZ","Beam spot position: z;z (mm)",100,-500,500);
111  m_hBsTiltX = makeAndRegisterTH1F(al_beamspot_shift,"bsTiltX","Beam spot tile angle: x-z plane; Tilt angle (#murad)",100,-1e3,1e3);
112  m_hBsTiltY = makeAndRegisterTH1F(al_beamspot_shift,"bsTiltY","Beam spot tile angle: y-z plane; Tilt angle (#murad)",100,-1e3,1e3);
113  }
114 
115  // Histograms for vertex-based beam spot monitoring
117 
118  // The following histograms are made either relative to the current beamspot (from BeamCondSvc),
119  // or relative to the nomial beamspot at (0,0,0) without any tilt.
120  if (m_useBeamspot) {
121  m_hPvX = makeAndRegisterTH1F(al_beamspot_shift,"pvX","Primary vertex: x - x_{beam};x-x_{beam} (#mum)",100,-500,500);
122  m_hPvY = makeAndRegisterTH1F(al_beamspot_shift,"pvY","Primary vertex: y - y_{beam};y-y_{beam} (#mum)",100,-500,500);
123  m_hPvZ = makeAndRegisterTH1F(al_beamspot_shift,"pvZ","Primary vertex: z - z_{beam};z-z_{beam} (mm)",100,-500,500);
124  } else {
125  m_hPvX = makeAndRegisterTH1F(al_beamspot_shift,"pvX","Primary vertex: x;x (mm)",100,-10,10);
126  m_hPvY = makeAndRegisterTH1F(al_beamspot_shift,"pvY","Primary vertex: y;y (mm)",100,-10,10);
127  m_hPvZ = makeAndRegisterTH1F(al_beamspot_shift,"pvZ","Primary vertex: z;z (mm)",100,-500,500);
128  }
129 
130  // Histograms that are independent of the useBeamSpot parameters
131  m_hPvXZ = makeAndRegisterTH2F(al_beamspot_shift,"pvXZ","Primary vertex: x vs z;z (mm);x (mm)",100,-500,500,100,-10,10);
132  m_hPvYZ = makeAndRegisterTH2F(al_beamspot_shift,"pvYZ","Primary vertex: y vs z;z (mm);y (mm)",100,-500,500,100,-10,10);
133  m_hPvYX = makeAndRegisterTH2F(al_beamspot_shift,"pvYX","Primary vertex: y vs x;x (mm);y (mm)",100,-10,10,100,-10,10);
134  m_hPvN = makeAndRegisterTH1F(al_beamspot_expert,"pvN","Number of vertices ("+m_vxContainerName.key()+", excluding dummy vertex);Number of vertices",100,0,100);
135  m_hPvNPriVtx = makeAndRegisterTH1F(al_beamspot_expert,"pvNPriVtx","Number of primary vertices ("+m_vxContainerName.key()+");Number of vertices",3,0,3);
136  m_hPvNPileupVtx = makeAndRegisterTH1F(al_beamspot_expert,"pvNPileupVtx","Number of pileup vertices ("+m_vxContainerName.key()+");Number of vertices",100,0,100);
137  m_hPvErrX = makeAndRegisterTH1F(al_beamspot_expert,"pvErrX","Primary vertex: #sigma_{x}; #sigma_{x} (mm)",100,0,.5);
138  m_hPvErrY = makeAndRegisterTH1F(al_beamspot_expert,"pvErrY","Primary vertex: #sigma_{y}; #sigma_{y} (mm)",100,0,.5);
139  m_hPvErrZ = makeAndRegisterTH1F(al_beamspot_expert,"pvErrZ","Primary vertex: #sigma_{z}; #sigma_{z} (mm)",100,0,.5);
140  m_hPvChiSqDoF = makeAndRegisterTH1F(al_beamspot_shift,"pvChiSqDof","Primary vertex: #Chi^{2}/DoF of vertex fit;#Chi^{2}/DoF",100,0,10);
141  m_hPvNTracksAll = makeAndRegisterTH1F(al_beamspot_expert,"pvNTracksAll","Number of tracks in primary vertex;Number of tracks",100,0,500);
142  m_hPvNTracks = makeAndRegisterTH1F(al_beamspot_expert,"pvNTracks","Number of tracks in primary vertex;Number of tracks",100,0,500);
143  m_hPvTrackPt = makeAndRegisterTH1F(al_beamspot_expert,"pvTrackPt","Primary vertex: original track p_{t};p_{t} (GeV)",100,0,20);
144  m_hPvTrackEta = makeAndRegisterTH1F(al_beamspot_expert,"pvTrackEta","Primary vertex: original track #eta; #eta",100,-3,3);
145  }
146  }
147 
148  return StatusCode::SUCCESS;
149 }
150 
151 
153 
154  // Get beamspot information, if available
155  float beamSpotX = 0.;
156  float beamSpotY = 0.;
157  float beamSpotZ = 0.;
158  float beamTiltX = 0.;
159  float beamTiltY = 0.;
160  float scaleFactor = 1.;
161  if (m_useBeamspot) {
163  ATH_CHECK(beamSpotHandle.isValid());
164  const Amg::Vector3D &bpos = beamSpotHandle->beamPos();
165 
166  beamSpotX = bpos.x();
167  beamSpotY = bpos.y();
168  beamSpotZ = bpos.z();
169  beamTiltX = beamSpotHandle->beamTilt(0);
170  beamTiltY = beamSpotHandle->beamTilt(1);
171  scaleFactor = 1000.; // Use microns for some histograms when showing distance relative to beamspot
172  m_hBsX->Fill(beamSpotX);
173  m_hBsY->Fill(beamSpotY);
174  m_hBsZ->Fill(beamSpotZ);
175  m_hBsTiltX->Fill(1e6*beamTiltX);
176  m_hBsTiltY->Fill(1e6*beamTiltY);
177  ATH_MSG_DEBUG("Beamspot from " << beamSpotHandle.retrieve() << ": x0 = " << beamSpotX << ", y0 = " << beamSpotY
178  << ", z0 = " << beamSpotZ << ", tiltX = " << beamTiltX
179  << ", tiltY = " << beamTiltY);
180  }
181 
183  if(!(trackCollection.isValid())){
184  ATH_MSG_DEBUG ("Could not retrieve TrackParticleContainer container with key "+m_trackContainerName.key());
185  return StatusCode::SUCCESS;
186  }
187 
188  // Track monitoring
189  int nTracks = 0;
190  for (xAOD::TrackParticleContainer::const_iterator trkItr = trackCollection->begin(); trkItr!=trackCollection->end(); ++trkItr) {
191 
192  const xAOD::TrackParticle* tpb = *trkItr;
193  if (!tpb) {
194  ATH_MSG_DEBUG( "Null pointer to TrackParticleBase" );
195  continue;
196  }
197  const Trk::Perigee* perigee = &(tpb->perigeeParameters());
198  if (!perigee) {
199  ATH_MSG_DEBUG( "Null pointer to track perigee" );
200  continue;
201  }
202 
203  float theta = perigee->parameters()[Trk::theta];
204  float qOverPt = perigee->parameters()[Trk::qOverP]/sin(theta);
205  float charge = perigee->charge();
206  float z0 = perigee->parameters()[Trk::z0];
207  float phi0 = perigee->parameters()[Trk::phi0];
208  float d0 = perigee->parameters()[Trk::d0];
209  if ( qOverPt != 0 ){
210  float pT = (1/qOverPt)*(charge);
211  // For all tracks
212  m_hTrPt->Fill(pT/1000.);
213 
214  // Select tracks to use for remaining histograms
215  if (pT<m_minTrackPt) continue;
216  }
217 
218  nTracks++;
219  m_hTrDPhi->Fill(phi0,d0*1e3);
220 
221  // Currently we do the direct calculation of d0corr. We could
222  // also use an extrapolator to calculate d0 wrt a
223  // Trk::StraightLineSurface constructed along the beam line.
224  if(m_useBeamspot){
225  float trkbeamlineTiltX=tpb->beamlineTiltX();
226  float trkbeamlineTiltY=tpb->beamlineTiltY();
227  float trkbeamspotx=tpb->vx();
228  float trkbeamspoty=tpb->vy();
229  float trkbeamspotz=tpb->vz();
230  float beamX = (beamSpotX-trkbeamspotx) + tan(beamTiltX-trkbeamlineTiltX) * (z0-beamSpotZ+trkbeamspotz);
231  float beamY = (beamSpotY-trkbeamspoty) + tan(beamTiltY-trkbeamlineTiltY) * (z0-beamSpotZ+trkbeamspotz);
232  float d0corr = d0 - ( -sin(phi0)*beamX + cos(phi0)*beamY );
233  m_hTrDPhiCorr->Fill(phi0,d0corr*1e3);
234  }
235  }
236  m_hTrNPt->Fill(nTracks);
237 
238  // Primary vertex monitoring - only if we have a primary vertex collection determined
239  // without beam constraint
241 
242  // Basic primary vertex monitoring
244  if (!vxContainer.isValid()) {
245  ATH_MSG_DEBUG ("Could not retrieve primary vertex container with key "+m_vxContainerName.key());
246  return StatusCode::SUCCESS;
247  }
248 
249  m_hPvN->Fill(vxContainer->size()-1); // exclude dummy vertex
250  int nPriVtx = 0;
251  int nPileupVtx = 0;
252  for (xAOD::VertexContainer_v1::const_iterator vxIter = vxContainer->begin(); vxIter != vxContainer->end(); ++vxIter) {
253  if ( !(*vxIter) ) continue;
254 
255  // Count different types of vertices
256  if ((*vxIter)->vertexType() == xAOD::VxType::PriVtx) nPriVtx++;
257  if ((*vxIter)->vertexType() == xAOD::VxType::PileUp) nPileupVtx++;
258 
259  // Select primary vertex
260  if ((*vxIter)->vertexType() != xAOD::VxType::PriVtx) continue;
261  if ((*vxIter)->numberDoF() <= 0) continue;
262 
263  if ((*vxIter)->nTrackParticles() < m_minTracksPerVtx) continue;
264 
265  // Found good VxCandidate to monitor - now fill histograms
266  float x = (*vxIter)->position().x();
267  float y = (*vxIter)->position().y();
268  float z = (*vxIter)->position().z();
269  float beamX = beamSpotX + tan(beamTiltX) * (z-beamSpotZ);
270  float beamY = beamSpotY + tan(beamTiltY) * (z-beamSpotZ);
271  float beamZ = beamSpotZ;
272 
273  m_hPvX->Fill((x-beamX)*scaleFactor);
274  m_hPvY->Fill((y-beamY)*scaleFactor);
275  m_hPvZ->Fill(z-beamZ);
276  m_hPvErrX->Fill( Amg::error( (*vxIter)->covariancePosition(), Trk::x) );
277  m_hPvErrY->Fill( Amg::error( (*vxIter)->covariancePosition(), Trk::y) );
278  m_hPvErrZ->Fill( Amg::error( (*vxIter)->covariancePosition(), Trk::z) );
279  m_hPvChiSqDoF->Fill( (*vxIter)->chiSquared() / (*vxIter)->numberDoF() );
280  m_hPvNTracks->Fill( (*vxIter)->nTrackParticles() );
281 
282  m_hPvXZ->Fill(z,x);
283  m_hPvYZ->Fill(z,y);
284  m_hPvYX->Fill(x,y);
285 
286  // Histograms on original tracks used for primary vertex
287  for (unsigned int trkIter=0; trkIter!=(*vxIter)->nTrackParticles(); ++trkIter) {
288  const xAOD::TrackParticle* tp = (*vxIter)->trackParticle(trkIter);
289  if(!tp){
290  ATH_MSG_DEBUG ("Could not retrieve track particle.");
291  continue;
292  }
293  const Trk::Perigee measuredPerigee = tp->perigeeParameters();
294  m_hPvTrackEta->Fill(measuredPerigee.eta());
295  m_hPvTrackPt->Fill(measuredPerigee.pT()/1000.); // Histo is in GeV, not MeV
296  }
297  }
298  m_hPvNPriVtx->Fill(nPriVtx);
299  m_hPvNPileupVtx->Fill(nPileupVtx);
300  }
301 
302  return StatusCode::SUCCESS;
303 }
304 
305 
307 {
308  return StatusCode::SUCCESS;
309 }
310 
311 
313  const char* hName, const std::string& hTitle, int nBins, float minX, float maxX) {
314  TH1F_LW* h = TH1F_LW::create(hName,hTitle.c_str(),nBins,minX,maxX);
315  //h->Sumw2();
316  if (mon.regHist(h).isFailure()) {
317  ATH_MSG_WARNING ("Unable to book histogram with name = "+std::string(hName));
318  }
319  return h;
320 }
321 
322 
324  const char* hName, const std::string& hTitle,
325  int nBinsX, float minX, float maxX,
326  int nBinsY, float minY, float maxY) {
327  TH2F_LW* h = TH2F_LW::create(hName,hTitle.c_str(),nBinsX,minX,maxX,nBinsY,minY,maxY);
328  //h->Sumw2();
329  //h->SetOption("colz");
330  if (mon.regHist(h).isFailure()) {
331  ATH_MSG_WARNING ("Unable to book histogram with name = "+std::string(hName));
332  }
333  return h;
334 }
TH2F_LW::Fill
virtual void Fill(const double &x, const double &y) override
Definition: TH2F_LW.cxx:329
InDetGlobalBeamSpotMonTool::m_hPvXZ
TH2F_LW * m_hPvXZ
Definition: InDetGlobalBeamSpotMonTool.h:76
Trk::y
@ y
Definition: ParamDefs.h:62
xAOD::TrackParticle_v1::beamlineTiltY
float beamlineTiltY() const
CalculateHighPtTerm.pT
pT
Definition: ICHEP2016/CalculateHighPtTerm.py:57
TH1F_LW.h
InDetGlobalBeamSpotMonTool::m_hBsTiltX
TH1F_LW * m_hBsTiltX
Definition: InDetGlobalBeamSpotMonTool.h:61
TH2F_LW.h
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:63
TH1F_LW::Fill
virtual void Fill(const double &x) override
Definition: TH1F_LW.cxx:246
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
PerigeeSurface.h
InDetGlobalBeamSpotMonTool::m_hPvY
TH1F_LW * m_hPvY
Definition: InDetGlobalBeamSpotMonTool.h:69
InDetGlobalBeamSpotMonTool::m_hBsX
TH1F_LW * m_hBsX
Definition: InDetGlobalBeamSpotMonTool.h:58
xAOD::TrackParticle_v1::vx
float vx() const
The x origin for the parameters.
TH1F_LW::create
static TH1F_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xlow, const double &xup)
Definition: TH1F_LW.cxx:33
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDetGlobalBeamSpotMonTool::m_hPvChiSqDoF
TH1F_LW * m_hPvChiSqDoF
Definition: InDetGlobalBeamSpotMonTool.h:74
TrackParticleBase.h
InDetAccessor::phi0
@ phi0
Definition: InDetAccessor.h:33
xAOD::TrackParticle_v1::vz
float vz() const
The z origin for the parameters.
EventPrimitivesHelpers.h
AthenaMonManager::cosmics
@ cosmics
Definition: AthenaMonManager.h:58
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
InDetGlobalBeamSpotMonTool::m_hPvX
TH1F_LW * m_hPvX
Definition: InDetGlobalBeamSpotMonTool.h:68
InDetGlobalBeamSpotMonTool::m_hPvN
TH1F_LW * m_hPvN
Definition: InDetGlobalBeamSpotMonTool.h:64
InDetGlobalBeamSpotMonTool::initialize
virtual StatusCode initialize()
Definition: InDetGlobalBeamSpotMonTool.cxx:70
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Trk::z0
@ z0
Definition: ParamDefs.h:70
InDetGlobalBeamSpotMonTool::m_vxContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_vxContainerName
Definition: InDetGlobalBeamSpotMonTool.h:93
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
InDetGlobalBeamSpotMonTool::m_hBsTiltY
TH1F_LW * m_hBsTiltY
Definition: InDetGlobalBeamSpotMonTool.h:62
x
#define x
ParamDefs.h
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthenaMonManager::environment
static Environment_t environment()
Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects ...
Definition: AthenaMonManager.cxx:321
InDetGlobalBeamSpotMonTool::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: InDetGlobalBeamSpotMonTool.cxx:152
InDetGlobalBeamSpotMonTool.h
InDetGlobalBeamSpotMonTool::InDetGlobalBeamSpotMonTool
InDetGlobalBeamSpotMonTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetGlobalBeamSpotMonTool.cxx:30
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:138
xAOD::TrackParticle_v1::perigeeParameters
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
Definition: TrackParticle_v1.cxx:485
InDetGlobalBeamSpotMonTool::m_minTracksPerVtx
unsigned int m_minTracksPerVtx
Definition: InDetGlobalBeamSpotMonTool.h:99
InDetGlobalMotherMonTool
This tool derives from InDetGlobalMonitorToolBase The Mother tool interfaces to all subtools.
Definition: InDetGlobalMotherMonTool.h:75
TH1F_LW
Definition: TH1F_LW.h:23
AthenaMonManager::dataType
static DataType_t dataType()
Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase ...
Definition: AthenaMonManager.cxx:338
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
ManagedMonitorToolBase::initialize
virtual StatusCode initialize()
Definition: ManagedMonitorToolBase.cxx:669
InDetGlobalBeamSpotMonTool::m_hPvErrX
TH1F_LW * m_hPvErrX
Definition: InDetGlobalBeamSpotMonTool.h:71
z
#define z
Trk::theta
@ theta
Definition: ParamDefs.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
extractSporadic.h
list h
Definition: extractSporadic.py:97
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthenaMonManager::online
@ online
Definition: AthenaMonManager.h:49
InDetGlobalBeamSpotMonTool::m_hPvYZ
TH2F_LW * m_hPvYZ
Definition: InDetGlobalBeamSpotMonTool.h:77
InDetGlobalBeamSpotMonTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: InDetGlobalBeamSpotMonTool.h:51
TrackCollection.h
InDetGlobalBeamSpotMonTool::m_hPvNTracksAll
TH1F_LW * m_hPvNTracksAll
Definition: InDetGlobalBeamSpotMonTool.h:80
xAOD::VxType::PriVtx
@ PriVtx
Primary vertex.
Definition: TrackingPrimitives.h:571
InDetGlobalBeamSpotMonTool::m_hTrPt
TH1F_LW * m_hTrPt
Definition: InDetGlobalBeamSpotMonTool.h:54
ManagedMonitorToolBase::ATTRIB_UNMANAGED
@ ATTRIB_UNMANAGED
Definition: ManagedMonitorToolBase.h:131
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
InDetGlobalBeamSpotMonTool::m_minTrackPt
float m_minTrackPt
Definition: InDetGlobalBeamSpotMonTool.h:100
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDetGlobalBeamSpotMonTool::m_hBsZ
TH1F_LW * m_hBsZ
Definition: InDetGlobalBeamSpotMonTool.h:60
VxTrackAtVertex.h
AthenaMonManager.h
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::TrackParticle_v1::beamlineTiltX
float beamlineTiltX() const
InDetGlobalBeamSpotMonTool::~InDetGlobalBeamSpotMonTool
virtual ~InDetGlobalBeamSpotMonTool()
VxContainer.h
run
Definition: run.py:1
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
xAOD::VxType::PileUp
@ PileUp
Pile-up vertex.
Definition: TrackingPrimitives.h:573
InDetGlobalBeamSpotMonTool::m_hPvTrackPt
TH1F_LW * m_hPvTrackPt
Definition: InDetGlobalBeamSpotMonTool.h:82
xAOD::TrackParticle_v1::vy
float vy() const
The y origin for the parameters.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Trk::d0
@ d0
Definition: ParamDefs.h:69
InDetGlobalBeamSpotMonTool::m_hTrDPhiCorr
TH2F_LW * m_hTrDPhiCorr
Definition: InDetGlobalBeamSpotMonTool.h:56
Amg::error
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Definition: EventPrimitivesHelpers.h:40
TH2F_LW::create
static TH2F_LW * create(const char *name, const char *title, unsigned nbinsx, const double &xmin, const double &xmax, unsigned nbinsy, const double &ymin, const double &ymax)
Definition: TH2F_LW.cxx:33
InDetGlobalBeamSpotMonTool::m_hPvErrZ
TH1F_LW * m_hPvErrZ
Definition: InDetGlobalBeamSpotMonTool.h:73
charge
double charge(const T &p)
Definition: AtlasPID.h:494
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
InDetGlobalBeamSpotMonTool::m_hPvNPriVtx
TH1F_LW * m_hPvNPriVtx
Definition: InDetGlobalBeamSpotMonTool.h:65
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDetGlobalBeamSpotMonTool::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: InDetGlobalBeamSpotMonTool.cxx:306
InDetGlobalBeamSpotMonTool::m_hPvYX
TH2F_LW * m_hPvYX
Definition: InDetGlobalBeamSpotMonTool.h:78
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
TrackParticle.h
InDetGlobalBeamSpotMonTool::m_hPvTrackEta
TH1F_LW * m_hPvTrackEta
Definition: InDetGlobalBeamSpotMonTool.h:83
InDetGlobalBeamSpotMonTool::m_histFolder
std::string m_histFolder
Definition: InDetGlobalBeamSpotMonTool.h:97
y
#define y
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDetGlobalBeamSpotMonTool::m_hPvZ
TH1F_LW * m_hPvZ
Definition: InDetGlobalBeamSpotMonTool.h:70
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetGlobalBeamSpotMonTool::m_hBsY
TH1F_LW * m_hBsY
Definition: InDetGlobalBeamSpotMonTool.h:59
plotBeamSpotMon.mon
mon
Definition: plotBeamSpotMon.py:67
InDetGlobalBeamSpotMonTool::m_hPvNTracks
TH1F_LW * m_hPvNTracks
Definition: InDetGlobalBeamSpotMonTool.h:81
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:73
InDetGlobalBeamSpotMonTool::m_hTrNPt
TH1F_LW * m_hTrNPt
Definition: InDetGlobalBeamSpotMonTool.h:53
InDetGlobalBeamSpotMonTool::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: InDetGlobalBeamSpotMonTool.cxx:83
InDetGlobalBeamSpotMonTool::m_trackContainerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerName
Definition: InDetGlobalBeamSpotMonTool.h:95
InDetGlobalBeamSpotMonTool::m_hTrDPhi
TH2F_LW * m_hTrDPhi
Definition: InDetGlobalBeamSpotMonTool.h:55
TH2F_LW
Definition: TH2F_LW.h:23
InDetGlobalBeamSpotMonTool::m_vxContainerWithBeamConstraint
bool m_vxContainerWithBeamConstraint
Definition: InDetGlobalBeamSpotMonTool.h:94
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
ReadHandle.h
Handle class for reading from StoreGate.
InDetGlobalBeamSpotMonTool::makeAndRegisterTH1F
TH1F_LW * makeAndRegisterTH1F(MonGroup &mon, const char *name, const std::string &title, int nBins, float minX, float maxX)
Definition: InDetGlobalBeamSpotMonTool.cxx:312
Trk::x
@ x
Definition: ParamDefs.h:61
InDetGlobalBeamSpotMonTool::m_hPvNPileupVtx
TH1F_LW * m_hPvNPileupVtx
Definition: InDetGlobalBeamSpotMonTool.h:66
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
InDetGlobalBeamSpotMonTool::m_useBeamspot
bool m_useBeamspot
Definition: InDetGlobalBeamSpotMonTool.h:92
Trk::phi0
@ phi0
Definition: ParamDefs.h:71
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
ManagedMonitorToolBase::newRunFlag
bool newRunFlag() const
Definition: ManagedMonitorToolBase.h:854
InDetGlobalBeamSpotMonTool::m_hPvErrY
TH1F_LW * m_hPvErrY
Definition: InDetGlobalBeamSpotMonTool.h:72
InDetGlobalBeamSpotMonTool::makeAndRegisterTH2F
TH2F_LW * makeAndRegisterTH2F(MonGroup &mon, const char *hName, const std::string &hTitle, int nBinsX, float minX, float maxX, int nBinsY, float minY, float maxY)
Definition: InDetGlobalBeamSpotMonTool.cxx:323