![]() |
|
|||
File indexing completed on 2023-03-17 11:19:39
0001 #ifndef RecoLocalTracker_SiPixelRecHits_PixelCPEGeneric_H 0002 #define RecoLocalTracker_SiPixelRecHits_PixelCPEGeneric_H 0003 0004 // \class PixelCPEGeneric -- a generalized CPE reco for the idealized detector 0005 // 0006 // The basic idea of this class is to use generic formulae in order 0007 // to achieve clean and minimal code. It should work for 0008 // - both normal and big pixels 0009 // - both barrel and forward 0010 // - both "FromDetPosition" and "FromTrackAngles" (i.e. by the track fit) 0011 // 0012 // This is possible since, in its nature, the original "ORCA" algorithm by 0013 // Danek and Susana is the same in both X and Y directions, provided that 0014 // one correctly computes angles alpha_ and beta_ up front. Thus, all 0015 // geometrical and special corrections are dropped, since the presumption 0016 // is that alpha_ and beta_ are determined as best as possible. That means 0017 // that they either come from the track, or, if they come from the 0018 // position of the DetUnit, they include all geometrical information 0019 // possible for this DetUnit: 0020 // - for both the barrel and the forward, we use the cluster position 0021 // instead of the center of the module/plaquette 0022 // - for the forward, the tilt of the blades is included too 0023 // 0024 // In addtion, anything which is special for the computation of the lorentz 0025 // angle is done in setTheDet() method. So the algorithm per se does not 0026 // need to worry about it. This includes extra E*B term (a.k.a. "alpha2Order") 0027 // and extra tilt in the forward. 0028 // 0029 // Thus, the formula for the computation of the hit position is very 0030 // simple, and is described in Morris's note (IN ???) on the generalizaton 0031 // of the pixel algorithm. 0032 0033 #include "RecoLocalTracker/SiPixelRecHits/interface/PixelCPEGenericBase.h" 0034 0035 // The template header files 0036 //#include "RecoLocalTracker/SiPixelRecHits/interface/SiPixelTemplateReco.h" 0037 #include "CondFormats/SiPixelTransient/interface/SiPixelTemplate.h" 0038 #include "CondFormats/SiPixelTransient/interface/SiPixelGenError.h" 0039 0040 #include <utility> 0041 #include <vector> 0042 0043 #if 0 0044 /** \class PixelCPEGeneric 0045 * Perform the position and error evaluation of pixel hits using 0046 * the Det angle to estimate the track impact angle 0047 */ 0048 #endif 0049 0050 class MagneticField; 0051 class PixelCPEGeneric : public PixelCPEGenericBase { 0052 public: 0053 PixelCPEGeneric(edm::ParameterSet const &conf, 0054 const MagneticField *, 0055 const TrackerGeometry &, 0056 const TrackerTopology &, 0057 const SiPixelLorentzAngle *, 0058 const SiPixelGenErrorDBObject *, 0059 const SiPixelLorentzAngle *); 0060 0061 ~PixelCPEGeneric() override = default; 0062 0063 static void fillPSetDescription(edm::ParameterSetDescription &desc); 0064 0065 protected: 0066 LocalPoint localPosition(DetParam const &theDetParam, ClusterParam &theClusterParam) const override; 0067 LocalError localError(DetParam const &theDetParam, ClusterParam &theClusterParam) const override; 0068 0069 //-------------------------------------------------------------------- 0070 // Methods. 0071 //------------------------------------------------------------------ 0072 0073 //--- Errors squared in x and y. &&& Need to be revisited. 0074 float err2X(bool &, int &) const; 0075 float err2Y(bool &, int &) const; 0076 0077 //--- Cuts made externally settable 0078 float the_eff_charge_cut_lowX; 0079 float the_eff_charge_cut_lowY; 0080 float the_eff_charge_cut_highX; 0081 float the_eff_charge_cut_highY; 0082 float the_size_cutX; 0083 float the_size_cutY; 0084 0085 bool inflate_errors; 0086 bool inflate_all_errors_no_trk_angle; 0087 0088 bool DoCosmics_; 0089 bool IrradiationBiasCorrection_; 0090 bool isPhase2_; 0091 bool NoTemplateErrorsWhenNoTrkAngles_; 0092 0093 //--- DB Error Parametrization object, new light templates 0094 std::vector<SiPixelGenErrorStore> thePixelGenError_; 0095 }; 0096 0097 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |