1 |
auterman |
1.1 |
#include <algorithm>
|
2 |
|
|
#include <vector>
|
3 |
|
|
|
4 |
|
|
#include "FWCore/Framework/interface/EDProducer.h"
|
5 |
|
|
#include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
|
6 |
|
|
#include "FWCore/ParameterSet/interface/ParameterSet.h"
|
7 |
|
|
#include "PhysicsTools/Utilities/interface/Math.h"
|
8 |
|
|
|
9 |
|
|
#include "FWCore/Framework/interface/EventSetup.h"
|
10 |
|
|
#include "FWCore/Framework/interface/Event.h"
|
11 |
|
|
#include "FWCore/Framework/interface/ESHandle.h"
|
12 |
|
|
#include "DataFormats/Common/interface/Handle.h"
|
13 |
|
|
#include "MagneticField/Engine/interface/MagneticField.h"
|
14 |
|
|
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
|
15 |
|
|
#include "TrackPropagation/SteppingHelixPropagator/interface/SteppingHelixPropagator.h"
|
16 |
|
|
#include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
|
17 |
|
|
#include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
|
18 |
|
|
#include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h"
|
19 |
|
|
#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
|
20 |
|
|
#include "DataFormats/GeometryVector/interface/GlobalVector.h"
|
21 |
|
|
|
22 |
|
|
#include "DataFormats/GeometrySurface/interface/Plane.h"
|
23 |
|
|
#include "DataFormats/GeometrySurface/interface/Cylinder.h"
|
24 |
|
|
#include "FWCore/ParameterSet/interface/InputTag.h"
|
25 |
|
|
|
26 |
|
|
class MagneticField;
|
27 |
|
|
|
28 |
|
|
class PropagateToCal {
|
29 |
|
|
public:
|
30 |
|
|
PropagateToCal(const edm::ParameterSet &);
|
31 |
|
|
~PropagateToCal();
|
32 |
|
|
bool propagate(const GlobalPoint& vertex,
|
33 |
|
|
GlobalVector& Cand, int charge,
|
34 |
|
|
const edm::EventSetup &setup) const;
|
35 |
|
|
|
36 |
|
|
private:
|
37 |
|
|
const MagneticField* getMagneticField(const edm::EventSetup &setup) const;
|
38 |
|
|
bool theIgnoreMaterial_; /// whether or not propagation should ignore material
|
39 |
|
|
double radius_, maxZ_, minZ_; /// Cylinder defining the inner surface of the calorimeter
|
40 |
|
|
};
|