CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/RecoRomanPot/RecoFP420/interface/TrackProducerFP420.h

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   //  std::vector<TrackFP420> trackFinderMaxAmplitude(ClusterCollectionFP420 input);
00033   //  std::vector<TrackFP420> trackFinderMaxAmplitude2(ClusterCollectionFP420 input);
00034 
00035   //  // std::vector<TrackFP420> trackFinderVar1(ClusterCollectionFP420 input);
00036   //  //std::vector<TrackFP420> trackFinderVar2(ClusterCollectionFP420 input);
00037 
00038     //    std::vector<TrackFP420> trackFinderSophisticated(ClusterCollectionFP420 input);
00039     std::vector<TrackFP420> trackFinderSophisticated(edm::Handle<ClusterCollectionFP420> input, int det);
00040 
00041   //  std::vector<TrackFP420> trackFinder3D(ClusterCollectionFP420 input);
00042 
00043 private:
00044   ClusterCollectionFP420 soutput;
00045 
00046   std::vector<TrackFP420> rhits; 
00047 
00048   FP420NumberingScheme * theFP420NumberingScheme;
00049 
00050 
00051  // Number of Stations:
00052  int sn0;
00053  // Number of superplanes:
00054  int pn0;
00055  // Number of sensors
00056  int rn0;
00057  // Number of planes:
00058  int xytype;
00059 
00060  // shift of planes:
00061         bool UseHalfPitchShiftInX;
00062         bool UseHalfPitchShiftInY;
00063         bool UseHalfPitchShiftInXW;
00064         bool UseHalfPitchShiftInYW;
00065 
00066         //double zUnit; 
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         //double ZBoundDet;
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