ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/Alignment/TwoBodyDecay/interface/TwoBodyDecayFitter.h
Revision: 1.1
Committed: Fri Nov 25 17:10:51 2011 UTC (13 years, 5 months ago) by econte
Content type: text/plain
Branch: MAIN
CVS Tags: TBD2011, TBD_2011, HEAD
Error occurred while calculating annotation data.
Log Message:
TwoBodyDecay modif

File Contents

# Content
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayFitter_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayFitter_h
3
4 #include "FWCore/ParameterSet/interface/ParameterSet.h"
5 #include "DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointerByClone.h"
6
7 #include "RecoVertex/LinearizationPointFinders/interface/DefaultLinearizationPointFinder.h"
8 #include "RecoVertex/VertexTools/interface/LinearizedTrackStateFactory.h"
9 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
10
11 #include "Alignment/TwoBodyDecay/interface/TwoBodyDecay.h"
12 #include "Alignment/TwoBodyDecay/interface/TwoBodyDecayVirtualMeasurement.h"
13 #include "Alignment/TwoBodyDecay/interface/TwoBodyDecayEstimator.h"
14 #include "Alignment/TwoBodyDecay/interface/TwoBodyDecayLinearizationPointFinder.h"
15
16 /** /class TwoBodyDecayFitter
17 *
18 * /author Edmund Widl
19 */
20
21
22 class TwoBodyDecayFitter
23 {
24
25 public:
26
27 TwoBodyDecayFitter( const edm::ParameterSet & config );
28
29 TwoBodyDecayFitter( const edm::ParameterSet & config,
30 const LinearizationPointFinder* vf,
31 const TwoBodyDecayLinearizationPointFinder* lpf,
32 const TwoBodyDecayEstimator* est );
33
34 virtual ~TwoBodyDecayFitter( void );
35
36 virtual const TwoBodyDecay estimate( const std::vector< reco::TransientTrack >& tracks,
37 const TwoBodyDecayVirtualMeasurement& vm ) const;
38
39 virtual const TwoBodyDecay estimate( const std::vector< reco::TransientTrack >& tracks,
40 const std::vector< TrajectoryStateOnSurface >& tsos,
41 const TwoBodyDecayVirtualMeasurement& vm ) const;
42
43 inline const TwoBodyDecayLinearizationPointFinder* linearizationPointFinder( void ) const { return theLinPointFinder.operator->(); }
44 inline const TwoBodyDecayEstimator* estimator( void ) const { return theEstimator.operator->(); }
45 inline const LinearizationPointFinder* vertexFinder( void ) const { return theVertexFinder.operator->(); }
46
47 virtual TwoBodyDecayFitter* clone( void ) const { return new TwoBodyDecayFitter( *this ); }
48
49 private:
50
51 typedef PerigeeLinearizedTrackState::RefCountedLinearizedTrackState RefCountedLinearizedTrackState;
52
53 DeepCopyPointerByClone< const LinearizationPointFinder > theVertexFinder;
54 DeepCopyPointerByClone< const TwoBodyDecayLinearizationPointFinder > theLinPointFinder;
55 DeepCopyPointerByClone< const TwoBodyDecayEstimator > theEstimator;
56
57 LinearizedTrackStateFactory theLinTrackStateFactory;
58
59 };
60
61 #endif