Go to the documentation of this file.00001 #ifndef TrackProducerFP420_h
00002 #define TrackProducerFP420_h
00003
00004 #include <string>
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00007 #include "FWCore/Framework/interface/ESHandle.h"
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDProducer.h"
00010 #include "FWCore/Framework/interface/EDAnalyzer.h"
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/EventSetup.h"
00013 #include "FWCore/Framework/interface/MakerMacros.h"
00014
00015 #include "DataFormats/FP420Cluster/interface/TrackFP420.h"
00016 #include "DataFormats/FP420Cluster/interface/ClusterFP420.h"
00017 #include "DataFormats/FP420Cluster/interface/ClusterCollectionFP420.h"
00018 #include "SimG4CMS/FP420/interface/FP420NumberingScheme.h"
00019
00020 #include <vector>
00021 #include <algorithm>
00022 #include <cmath>
00023
00024
00025 class TrackProducerFP420 {
00026 public:
00027
00028 typedef std::vector<ClusterFP420>::const_iterator ClusterFP420Iter;
00029
00030 TrackProducerFP420(int, int, int, int, double, double, double, double, double, double, double, double, double, double, double, double, double, bool, bool, bool, bool, double, double, float, float, double, int, double, double);
00031
00032
00033
00034
00035
00036
00037
00038
00039 std::vector<TrackFP420> trackFinderSophisticated(edm::Handle<ClusterCollectionFP420> input, int det);
00040
00041
00042
00043 private:
00044 ClusterCollectionFP420 soutput;
00045
00046 std::vector<TrackFP420> rhits;
00047
00048 FP420NumberingScheme * theFP420NumberingScheme;
00049
00050
00051
00052 int sn0;
00053
00054 int pn0;
00055
00056 int rn0;
00057
00058 int xytype;
00059
00060
00061 bool UseHalfPitchShiftInX;
00062 bool UseHalfPitchShiftInY;
00063 bool UseHalfPitchShiftInXW;
00064 bool UseHalfPitchShiftInYW;
00065
00066
00067 double z420;
00068 double zD2;
00069 double zD3;
00070 double pitchX;
00071 double pitchY;
00072 double pitchXW;
00073 double pitchYW;
00074 double ZGapLDet;
00075
00076 double ZSiStep;
00077 double ZSiPlane;
00078 double ZSiDet ;
00079 double zBlade;
00080 double gapBlade;
00081
00082 double dXX;
00083 double dYY;
00084 float chiCutX;
00085 float chiCutY;
00086
00087 double zinibeg;
00088
00089 int verbos;
00090
00091 double XsensorSize;
00092 double YsensorSize;
00093
00094 };
00095
00096
00097
00098 #endif