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
00019 #include <vector>
00020 #include <algorithm>
00021 #include <cmath>
00022
00023
00024 class TrackProducerFP420 {
00025 public:
00026
00027 typedef std::vector<ClusterFP420>::const_iterator ClusterFP420Iter;
00028
00029
00030 TrackProducerFP420(int, int, int, double, double, double, double, double, double, double, double, double, double, double, double, bool, bool, bool, bool, double, double, float, float, 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
00049 int sn0;
00050
00051 int pn0;
00052
00053 int zn0;
00054
00055
00056 bool UseHalfPitchShiftInX;
00057 bool UseHalfPitchShiftInY;
00058 bool UseHalfPitchShiftInXW;
00059 bool UseHalfPitchShiftInYW;
00060
00061
00062 double z420;
00063 double zD2;
00064 double zD3;
00065 double pitchX;
00066 double pitchY;
00067 double pitchXW;
00068 double pitchYW;
00069 double ZGapLDet;
00070
00071 double ZSiStep;
00072 double ZSiPlane;
00073 double ZSiDetL;
00074 double ZSiDetR;
00075
00076 double dXX;
00077 double dYY;
00078 float chiCutX;
00079 float chiCutY;
00080
00081 double zinibeg;
00082
00083 };
00084
00085
00086
00087 #endif