File indexing completed on 2024-04-06 12:28:51
0001 #ifndef MultipleScatteringParametrisation_H
0002 #define MultipleScatteringParametrisation_H
0003
0004
0005
0006
0007 #include "TrackingTools/DetLayers/interface/DetLayer.h"
0008 #include "RecoTracker/TkMSParametrization/interface/PixelRecoPointRZ.h"
0009 #include "RecoTracker/TkMSParametrization/interface/MSLayer.h"
0010 #include "FWCore/Framework/interface/EventSetup.h"
0011
0012 class MSLayersKeeper;
0013 class PixelRecoPointRZ;
0014 class DetLayer;
0015
0016 class MultipleScatteringParametrisation {
0017 public:
0018 enum Consecutive { notAssumeConsecutive, useConsecutive };
0019
0020 MultipleScatteringParametrisation(const DetLayer *layer, const MSLayersKeeper *layerKeeper);
0021
0022
0023
0024 float operator()(float pt, float cotTheta, float transverseIP = 0.) const;
0025
0026
0027
0028
0029 float operator()(float pt, float cotTheta, const PixelRecoPointRZ &point, float transverseIP = 0.) const;
0030 float operator()(float pt, float cotTheta, const PixelRecoPointRZ &point, int ol) const;
0031
0032
0033
0034
0035
0036 float operator()(float pt,
0037 const PixelRecoPointRZ &point1,
0038 const PixelRecoPointRZ &point2,
0039 Consecutive consecutive = notAssumeConsecutive,
0040 float transverseIP = 0.) const;
0041
0042
0043 float operator()(float pT, const PixelRecoPointRZ &pointV, const PixelRecoPointRZ &pointO, int ol) const;
0044
0045 private:
0046 MSLayer theLayer;
0047 MSLayersKeeper const *theLayerKeeper = nullptr;
0048 static const float x0ToSigma;
0049 };
0050 #endif