![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
22 #include "GaudiKernel/StatusCode.h"
34 const std::string &
type,
35 const std::string &
name,
39 m_tracks_top(nullptr), m_tracks_bottom(nullptr),
41 m_nBottomTrks(nullptr),
49 m_bottom_phi(nullptr),
50 m_bottom_eta(nullptr),
51 m_bottom_chi2(nullptr),
52 m_top_d0_1trk(nullptr),
53 m_top_z0_1trk(nullptr),
54 m_top_phi_1trk(nullptr),
55 m_top_eta_1trk(nullptr),
56 m_top_chi2_1trk(nullptr),
57 m_bottom_d0_1trk(nullptr),
58 m_bottom_z0_1trk(nullptr),
59 m_bottom_phi_1trk(nullptr),
60 m_bottom_eta_1trk(nullptr),
61 m_bottom_chi2_1trk(nullptr),
62 m_top_bottom_dd0(nullptr),
63 m_top_bottom_dz0(nullptr),
64 m_top_bottom_dphi(nullptr),
65 m_top_bottom_deta(nullptr),
66 m_top_bottom_d0_pull(nullptr),
67 m_top_bottom_z0_pull(nullptr),
68 m_top_bottom_phi_pull(nullptr),
69 m_top_bottom_eta_pull(nullptr),
118 return StatusCode::SUCCESS;
125 MonGroup monGr_shift (
this,
"InDetGlobal/TopBottom",
run);
126 MonGroup monGr_exp (
this,
"InDetGlobal/TopBottom",
run);
135 new TH1F(
"m_nBottomTrks",
"number of bottom segments",5,0,5));
138 new TH1F(
"m_nTopTrks",
"number of top segments",5,0,5));
144 new TH1F(
"m_top_phi",
"phi of top segment",100,-
M_PI,
M_PI));
146 new TH1F(
"m_top_eta",
"eta of top segment",100,-1.,1.));
149 new TH1F(
"m_top_d0",
"transverse impact parameter of top segment",
152 new TH1F(
"m_top_z0",
"z0 of top segment",200,-1000,1000));
154 new TH1F(
"m_top_chi2",
"chi2 of top segment",100,0,100));
157 "m_bottom_phi",
"phi of bottom segment",100,-
M_PI,
M_PI));
160 new TH1F(
"m_bottom_eta",
"eta of bottom segment",100,-1.,1.));
163 "m_bottom_d0",
"transverse impact parameter of bottom segment",
167 new TH1F(
"m_bottom_z0",
"z0 of bottom segment",200,-1000,1000));
170 new TH1F(
"m_bottom_chi2",
"chi2 of bottom segment",100,0,100));
175 "phi of top segment-only 1 segment per event",
180 "eta of top segment-only 1 segment per event",
184 "m_top_d0_1trk",
"transverse impact parameter of top segment"
185 "-only 1 segment per event",200,-500,500));
188 new TH1F(
"m_top_z0_1trk",
189 "z0 of top segment-only 1 segment per event",
194 "chi2 of top segment-only 1 segment per event"
198 "m_bottom_phi_1trk",
"phi of bottom segment-"
199 "only 1 segment per event",100,-
M_PI,
M_PI));
203 "eta of bottom segment-only 1 segment per event",
208 "transverse impact parameter of bottom segment "
209 "- only 1 segment per event",200,-500,500));
213 "z0 of bottom segment-only 1 segment per event"
217 "m_bottom_chi2_1trk",
218 "chi2 of bottom segment-only 1 segment per event",
223 "Delta(phi) between top and bottom segments",
228 "Delta(eta) between top and bottom segments",
232 "m_top_bottom_dd0",
"Delta(d0) between top and bottom segments",
236 "m_top_bottom_dz0",
"Delta(z0) between top and bottom segments",
240 "m_top_bottom_phi_pull",
241 "Delta(phi) pull between top and bottom segments",
245 "m_top_bottom_eta_pull",
246 "Delta(eta) pull between top and bottom segments",
250 "m_top_bottom_d0_pull",
251 "Delta(d0) pull between top and bottom segments",100,-50,50));
254 "m_top_bottom_z0_pull",
255 "Delta(z0) pull between top and bottom segments",
259 if (
status)
return StatusCode::SUCCESS;
260 else return StatusCode::FAILURE;
276 return StatusCode::SUCCESS;
285 return StatusCode::SUCCESS;
301 return StatusCode::SUCCESS;
310 return StatusCode::SUCCESS;
326 return StatusCode::SUCCESS;
335 return StatusCode::SUCCESS;
350 if (!combinedTracksUp.
isValid()) {
352 if(
m_detector==
"ID")
return StatusCode::SUCCESS;
359 if (!combinedTracksLow.
isValid()) {
361 if(
m_detector==
"ID")
return StatusCode::SUCCESS;
372 unsigned int nBottomTracks=0;
379 if (track_bottom ==
nullptr) {
381 <<
"no pointer to bottom track!!!" <<
endmsg;
397 measPerigee->parameters()[
Trk::d0];
399 measPerigee->parameters()[
Trk::z0];
401 measPerigee->covariance();
411 <<
"no measurement at perigee !!!" <<
endmsg;
427 unsigned int nTopTracks=0;
433 if (track_top ==
nullptr){
435 <<
"no pointer to top track!!!" <<
endmsg;
443 m_Top_eta[nTopTracks]=measPerigee->eta();
449 measPerigee->covariance();
459 <<
"no measurement at perigee !!!" <<
endmsg;
481 if(nBottomTracks>0) {
489 if (nTopTracks==1 && nBottomTracks==1) {
520 return StatusCode::SUCCESS;
Property holding a SG store/key/clid from which a ReadHandle is made.
Const iterator class for DataVector/DataList.
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
#define AmgSymMatrix(dim)
::StatusCode StatusCode
StatusCode definition for legacy code.
const_pointer_type get() const
Dereference the pointer, but don't cache anything.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const Perigee * perigeeParameters() const
return Perigee.
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 ...
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
double chiSquared() const
returns the of the overall track fit
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.