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
Log Message:
TwoBodyDecay modif

File Contents

# User Rev Content
1 econte 1.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