Commit 9b310538 authored by Walter Lampl's avatar Walter Lampl Committed by Graeme Stewart
Browse files

migrate to xAOD::EventInfo (SiSPSeededTrackFinder-01-00-06)

parent 5c1aaef6
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef SiSPSeededTrackFinder_H
#define SiSPSeededTrackFinder_H
#include <string>
#include "AthenaBaseComps/AthAlgorithm.h"
#include "GaudiKernel/ToolHandle.h"
#include "InDetRecToolInterfaces/ISiSpacePointsSeedMaker.h"
#include "InDetRecToolInterfaces/ISiZvertexMaker.h"
#include "InDetRecToolInterfaces/ISiTrackMaker.h"
// For new strategy reconstruction
//
#include "InDetBeamSpotService/IBeamCondSvc.h"
#include "TrkExInterfaces/IPatternParametersPropagator.h"
#include "TrkGeometry/MagneticFieldProperties.h"
#include "TrkSurfaces/PerigeeSurface.h"
namespace InDet {
// forward declare of these interfaces does not work in opt build
// class ISiSpacePointsSeedMaker;
// class ISiZvertexMaker;
// class ISiTrackMaker;
// Class-algorithm for track finding in Pixels and SCT
// initiated by space points seeds
//
class SiSPSeededTrackFinder : public AthAlgorithm
{
///////////////////////////////////////////////////////////////////
// Public methods:
///////////////////////////////////////////////////////////////////
public:
///////////////////////////////////////////////////////////////////
// Standard Algotithm methods
///////////////////////////////////////////////////////////////////
SiSPSeededTrackFinder(const std::string &name, ISvcLocator *pSvcLocator);
virtual ~SiSPSeededTrackFinder() {}
StatusCode initialize();
StatusCode execute();
StatusCode finalize();
///////////////////////////////////////////////////////////////////
// Print internal tool parameters and status
///////////////////////////////////////////////////////////////////
MsgStream& dump (MsgStream& out) const;
std::ostream& dump (std::ostream& out) const;
protected:
///////////////////////////////////////////////////////////////////
// Protected data
///////////////////////////////////////////////////////////////////
bool m_useZvertexTool ;
bool m_useMBTS ;
bool m_useNewStrategy ;
bool m_useZBoundaryFinding;
int m_outputlevel ; // Print level for debug
int m_nprint ; // Kind of print
int m_nseeds ; // Number seeds
int m_ntracks ; // Number found tracks
int m_nseedsTotal ; // Number seeds
int m_ntracksTotal ; // Number found tracks
int m_neventsTotal ; // Number events
int m_neventsTotalV ; // Number events
int m_problemsTotal ; // Numbe revents with number seeds > maxNumber
int m_problemsTotalV ; // Numbe revents with number seeds > maxNumber
int m_maxNumberSeeds ; // Max. number used seeds
int m_maxPIXsp ; // Max. number pixels space points
int m_maxSCTsp ; // Max. number sct space points
int m_nfreeCut ; // Min number free clusters
std::string m_spacepointsPixelname;
std::string m_spacepointsSCTname ;
std::string m_tracklocationOutput; // Name of output tracks location
std::string m_tracklocationInput ; // Name of input tracks location
ToolHandle< ISiSpacePointsSeedMaker > m_seedsmaker ; // Space poins seed maker
ToolHandle< ISiZvertexMaker > m_zvertexmaker ; // Space poins z-vertex maker
ToolHandle< ISiTrackMaker > m_trackmaker ; // Track maker
// For new strategy reconstruction
//
int* m_nhistogram;
int m_histsize ;
int m_nvertex ;
double m_pTcut ;
double m_imcut ;
double m_zstep ;
double m_zcut ;
double* m_zhistogram;
double* m_phistogram;
std::string m_beamconditions ;
std::string m_fieldmode ;
IBeamCondSvc* m_beam ;
ToolHandle<Trk::IPatternParametersPropagator> m_proptool ;
Trk::MagneticFieldProperties m_fieldprop;
///////////////////////////////////////////////////////////////////
// Protected methods
///////////////////////////////////////////////////////////////////
bool isGoodEvent();
double trackQuality(const Trk::Track*);
void filterSharedTracks(std::multimap<double,Trk::Track*>&);
void fillZHistogram(const Trk::Track*,Trk::PerigeeSurface&);
void findZvertex(std::list<Trk::Vertex>&,double*);
StatusCode oldStrategy();
StatusCode newStrategy();
void magneticFieldInit();
MsgStream& dumptools(MsgStream& out) const;
MsgStream& dumpevent(MsgStream& out) const;
};
MsgStream& operator << (MsgStream& ,const SiSPSeededTrackFinder&);
std::ostream& operator << (std::ostream&,const SiSPSeededTrackFinder&);
}
#endif // SiSPSeededTrackFinder_H
package SiSPSeededTrackFinder
author Igor Gavrilenko <Igor.Gavrilenko@cern.ch>
private
use xAODEventInfo xAODEventInfo-* Event/xAOD
use TrkTrack TrkTrack-* Tracking/TrkEvent
use TrkRIO_OnTrack TrkRIO_OnTrack-* Tracking/TrkEvent
use TrkSpacePoint TrkSpacePoint-* Tracking/TrkEvent
use TrkPatternParameters TrkPatternParameters-* Tracking/TrkEvent
public
use AtlasPolicy AtlasPolicy-*
use GaudiInterface GaudiInterface-* External
use AthenaBaseComps AthenaBaseComps-* Control
use InDetRecToolInterfaces InDetRecToolInterfaces-* InnerDetector/InDetRecTools
use InDetBeamSpotService InDetBeamSpotService-* InnerDetector/InDetConditions
use TrkExInterfaces TrkExInterfaces-* Tracking/TrkExtrapolation
use TrkGeometry TrkGeometry-* Tracking/TrkDetDescr
use TrkSurfaces TrkSurfaces-* Tracking/TrkDetDescr
library SiSPSeededTrackFinder *.cxx components/*.cxx
apply_pattern component_library
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
/**
@mainpage SiSPSeededTrackFinder
@author Markus.Elsing@cern.ch, Igor.Gavrilenko@cern.ch
@section SiSPSeededTrackFinderIntro Introduction
This algorithm is devoted to track finding using Pixels and SCT clusters starting from space point seeds
information. Output of this algorithm is Trk::Track collection.
This algorithm uses three standard tools.
1. ISiSpacePointsSeedMaker - space point seeds maker tool.
2. ISiZvertexMake - primary verices search tool.
3. ISiTrackMaker - local track-finding in Pixels and SCT tool.
@section SiSPSeededTrackFinderReq Requirements file
@include requirements
*/
#include "GaudiKernel/DeclareFactoryEntries.h"
#include "SiSPSeededTrackFinder/SiSPSeededTrackFinder.h"
using namespace InDet;
DECLARE_ALGORITHM_FACTORY( SiSPSeededTrackFinder )
DECLARE_FACTORY_ENTRIES( SiSPSeededTrackFinder )
{
DECLARE_ALGORITHM( SiSPSeededTrackFinder )
}
#include "GaudiKernel/LoadFactoryEntries.h"
LOAD_FACTORY_ENTRIES( SiSPSeededTrackFinder)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment