CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/RecoRomanPot/RecoFP420/interface/FP420ClusterMain.h

Go to the documentation of this file.
00001 #ifndef FP420ClusterMain_h
00002 #define FP420ClusterMain_h
00003    
00004 #include <string>
00005 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "FWCore/Framework/interface/Frameworkfwd.h"
00008 #include "FWCore/Framework/interface/EDProducer.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "FWCore/Framework/interface/EventSetup.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 
00014 #include "SimG4CMS/FP420/interface/FP420NumberingScheme.h"
00015 #include "DataFormats/FP420Digi/interface/DigiCollectionFP420.h"
00016 #include "DataFormats/FP420Cluster/interface/ClusterCollectionFP420.h"
00017 #include "RecoRomanPot/RecoFP420/interface/ClusterNoiseFP420.h"
00018 #include "DataFormats/FP420Cluster/interface/ClusterFP420.h"
00019 #include <iostream>
00020 #include <vector>
00021 
00022 
00023 class ClusterNoiseFP420;
00024 class ClusterProducerFP420;
00025 
00026 class FP420ClusterMain 
00027 {
00028  public:
00029   
00030 
00031     FP420ClusterMain(const edm::ParameterSet& conf, int dn, int sn, int pn, int rn);
00032   //  FP420ClusterMain();
00033 
00034   ~FP420ClusterMain();
00035 
00037 
00038 //         void run(const DigiCollectionFP420 &input,
00039 //                 ClusterCollectionFP420 &soutput,
00040 //                 const std::vector<ClusterNoiseFP420>& noise 
00041 //         );
00042     void run(edm::Handle<DigiCollectionFP420> &input,
00043            std::auto_ptr<ClusterCollectionFP420> &soutput,
00044            std::vector<ClusterNoiseFP420>& noise 
00045            );
00046 
00047  private:
00048 
00049 
00050   ClusterProducerFP420 *threeThreshold_;
00051   std::string clusterMode_;
00052 
00053   //std::vector<HDigiFP420> collector;
00054   edm::ParameterSet conf_;
00055 
00056 
00057   bool validClusterizer_;
00058   double ElectronPerADC_;
00059   double ENC_;
00060   double BadElectrodeProbability_;
00061   bool UseNoiseBadElectrodeFlagFromDB_;
00062 
00063   FP420NumberingScheme * theFP420NumberingScheme;
00064   
00065   double ChannelThreshold;
00066   double SeedThreshold;
00067   double ClusterThreshold;
00068   int MaxVoidsInCluster;        
00069 
00070   double ldriftX;
00071   double ldriftY;
00072   double ldrift;
00073   double pitchX;          // pitchX
00074   double pitchY;          // pitchY
00075   double pitch;          // pitch automatic
00076   float moduleThicknessX; // plate thicknessX 
00077   float moduleThicknessY; // plate thicknessY 
00078   float moduleThickness; // plate thickness 
00079   int numStripsX, numStripsXW;    // number of strips in the moduleX
00080   int numStripsY, numStripsYW;    // number of strips in the moduleY
00081   int numStrips;    // number of strips in the module
00082 
00083   float Thick300;
00084 
00085  // Number of Detectors:
00086    int dn0;
00087  // Number of Stations:
00088    int sn0;
00089  // Number of planes:
00090    int pn0;
00091  // Number of sensors:
00092    int rn0;
00093  // Type of planes:
00094    int xytype;
00095 
00096    int verbosity;
00097 
00098  //float sigma1_;
00099  //float sigma2_;
00100 
00101 };
00102 
00103 #endif