 |
ATLAS Offline Software
|
Go to the documentation of this file.
36 return StatusCode::FAILURE;
49 return StatusCode::FAILURE;
57 return StatusCode::FAILURE;
63 return StatusCode::FAILURE;
71 return StatusCode::FAILURE;
80 return StatusCode::FAILURE;
90 return StatusCode::FAILURE;
98 return StatusCode::FAILURE;
107 return StatusCode::FAILURE;
112 std::ostream *
out = &std::cout;
114 if(!
ofile->is_open()) {
115 msg(MSG::ERROR)<<
"Couldn't open logfile. Writing to standard output."<<
endmsg;
137 return StatusCode::SUCCESS;
158 ATH_MSG_DEBUG(
"read geometry, "<<NDoF<<
" alignment parameters");
167 if (
sc != StatusCode::SUCCESS) {
169 return StatusCode::FAILURE;
177 return StatusCode::SUCCESS;
190 return StatusCode::SUCCESS;
193 msg(
MSG::INFO)<<
"Only doing the solving. Aborting event processing after first event."<<
endmsg;
195 return StatusCode::FAILURE;
210 if (!originalTracks ||
sc.isFailure())
return sc;
212 if(originalTracks->
empty()) {
214 return StatusCode::SUCCESS;
225 if (!alignTracks || alignTracks->
empty()) {
226 ATH_MSG_DEBUG(
"processTrackCollection() returned empty Track collection.");
227 return StatusCode::SUCCESS;
235 for (
Track* trk : *alignTracks) {
242 msg(
MSG::FATAL)<<
"Track is not an AlignTrack. PreProcessor returns TrackCollection but"
243 <<
"it has to be filled with AlignTracks. Otherwise the code doesn't work."<<
endmsg;
244 return StatusCode::FAILURE;
250 ATH_MSG_DEBUG(
"processAlignTrack() returned FALSE, Skipping the track.");
261 ATH_MSG_DEBUG(
"dressAlignTrack() returned FALSE, Skipping the track.");
279 for (
Track* trk : *alignTracks) {
286 msg(
MSG::FATAL)<<
"Track is not an AlignTrack. PreProcessor returns TrackCollection but"
287 <<
"it has to be filled with AlignTracks. Otherwise the code doesn't work."<<
endmsg;
288 return StatusCode::FAILURE;
295 ATH_MSG_DEBUG(
"dressAlignTrack failed, Skipping the track.");
302 ATH_MSG_DEBUG(
"Vertex fit failed for this track. Skipping the track.");
308 bool success =
m_alignTool->accumulate(alignTrack);
312 ATH_MSG_DEBUG(
"accumulate() returned FALSE, Skipping the track.");
334 alignTracks =
nullptr;
339 return StatusCode::SUCCESS;
348 *
m_logStream<<
"*************************************************************"<<std::endl;
349 *
m_logStream<<
"****** Alignment Job summary ******"<<std::endl;
350 *
m_logStream<<
"*************************************************************"<<std::endl;
369 msg(MSG::ERROR)<<
"problem with alignTool fillNtuple()!"<<
endmsg;
370 return StatusCode::FAILURE;
374 msg(MSG::ERROR)<<
"problem with fillNtupleTool fillNtuple()!"<<
endmsg;
375 return StatusCode::FAILURE;
378 ATH_MSG_INFO(
"calling alignTrackPreProcessor->fillNtuple()");
380 msg(MSG::ERROR)<<
"problem with alignTrackPreProcessor fillNtuple()!"<<
endmsg;
381 return StatusCode::FAILURE;
384 ATH_MSG_INFO(
"calling trackCollectionProvider->fillNtuple()");
386 msg(MSG::ERROR)<<
"problem with trackCollectionProvider fillNtuple()!"<<
endmsg;
387 return StatusCode::FAILURE;
392 msg(MSG::WARNING)<<
"No tracks passed track selection. No solving."<<
endmsg;
393 return StatusCode::SUCCESS;
399 return StatusCode::FAILURE;
405 return StatusCode::FAILURE;
408 ATH_MSG_INFO(
"calling trkAlignDBTool->writeAlignPar()");
411 return StatusCode::SUCCESS;
421 if(std::ofstream * ofs =
dynamic_cast<std::ofstream *
>(
m_logStream)) {
435 return StatusCode::SUCCESS;
int m_ntracksSel
number of selected tracks
PublicToolHandle< IGeometryManagerTool > m_geometryManagerTool
Pointer to GeometryManagerTool, used to get lists of chambers for which alignment parameters will be ...
int m_ntracksProc
number of tracks successfully processed
BooleanProperty m_writeNtuple
ToolHandle< IFillNtupleTool > m_fillNtupleTool
Pointer to FillNtupleTool, used to write track information to ntuple.
StringProperty m_filepath
virtual StatusCode finalize()
finalize method
int m_ntracksDress
number of tracks successfully dressed
virtual StatusCode start()
set up geometry and prepare the tools
virtual StatusCode initialize()
initialize method
virtual StatusCode stop()
processes information accumulated in execute method to determine alignment parameters
ToolHandle< IAlignTrackCreator > m_alignTrackCreator
Pointer to alignTrackCreator, used to convert Trk::Track to vector of AlignTrack.
int m_ntracksAccum
number of tracks successfully accumulated
TFile * m_ntuple
output ntuple
ToolHandle< ITrackCollectionProvider > m_trackCollectionProvider
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
BooleanProperty m_solveOnly
ToolHandle< ITrkAlignDBTool > m_trkAlignDBTool
Pointer to TrkAlignDBTool, used for reading/writing alignment parameters from/to the database.
std::ostream * m_logStream
logfile output stream
::StatusCode StatusCode
StatusCode definition for legacy code.
const AlignVertex * getVtx() const
set and get pointer to the associated vertex
ToolHandle< IAlignTrackDresser > m_alignTrackDresser
Pointer to alignTrackDresser, used to add residuals, derivatives, etc.
int m_ntracks
number of processed tracks
const Amg::SymMatrixX * weightMatrix() const
Weight matrix is W from Si alignment (see Eqn.
BooleanProperty m_writeLogfile
Ensure that the ATLAS eigen extensions are properly loaded.
virtual ~AlignAlg()
destructor
virtual StatusCode execute()
loops over tracks in event, and accumulates information necessary for alignmnet
IntegerProperty m_alignSolveLevel
ToolHandle< IAlignTool > m_alignTool
Pointer to alignTool.
ToolHandle< IAlignTrackPreProcessor > m_alignTrackPreProcessor
Pointer to AlignTrackPreProcessor, used to select hits on tracks and/or tracks before passing to Alig...
StringProperty m_alignTracksName
StringProperty m_logfileName
@ Refitted
normally refitted, without adding any pseudo-measurement
int m_nevents
number of processed events
AlignVertexType type() const
get and set the refit type
StringProperty m_filename
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > SymMatrixX