CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/RecoLocalTracker/SubCollectionProducers/interface/ClusterSummaryProducer.h

Go to the documentation of this file.
00001 #ifndef CLUSTERSUMMARYPRODUCER
00002 #define CLUSTERSUMMARYPRODUCER
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    ClusterSummaryProducer
00007 // Class:      ClusterSummaryProducer
00008 // 
00016 //
00017 // Original Author:  Michael Segala
00018 //         Created:  Thu Jun 23 09:33:08 CDT 2011
00019 // $Id: ClusterSummaryProducer.h,v 1.3 2012/02/02 18:17:38 msegala Exp $
00020 //
00021 //
00022 
00023 
00024 // system include files
00025 #include <memory>
00026 #include <string>
00027 #include <map>
00028 #include <vector>
00029 #include<iostream>
00030 #include <string.h>
00031 // user include files
00032 
00033 #include "FWCore/Framework/interface/Frameworkfwd.h"
00034 #include "FWCore/Framework/interface/EDProducer.h"
00035 #include "FWCore/Utilities/interface/InputTag.h"
00036 
00037 #include "FWCore/Framework/interface/Event.h"
00038 #include "FWCore/Framework/interface/MakerMacros.h"
00039 
00040 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00041 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00042 
00043 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
00044 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
00045 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00046 #include "DataFormats/Common/interface/DetSetVectorNew.h"
00047 
00048 
00049 #include "RecoLocalTracker/SiStripClusterizer/interface/SiStripClusterInfo.h"
00050 #include "DataFormats/SiStripDigi/interface/SiStripProcessedRawDigi.h"
00051 #include "DataFormats/Common/interface/DetSetVector.h"
00052 
00053 
00054 #include "DataFormats/TrackerCommon/interface/ClusterSummary.h"
00055 #include "RecoLocalTracker/SubCollectionProducers/interface/ClusterVariables.h"
00056 
00057 #include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
00058 #include "DataFormats/DetId/interface/DetId.h" 
00059 #include "DataFormats/SiStripDetId/interface/TIBDetId.h"
00060 #include "DataFormats/SiStripDetId/interface/TOBDetId.h"
00061 #include "DataFormats/SiStripDetId/interface/TIDDetId.h"
00062 #include "DataFormats/SiStripDetId/interface/TECDetId.h"
00063 #include "DataFormats/SiPixelDetId/interface/PXBDetId.h"
00064 #include "DataFormats/SiPixelDetId/interface/PXFDetId.h"
00065 
00066 
00067 //
00068 // class declaration
00069 //
00070 class ClusterVariables;
00071 class ClusterSummary;
00072 
00073 
00074 class ClusterSummaryProducer : public edm::EDProducer {
00075    public:
00076       explicit ClusterSummaryProducer(const edm::ParameterSet&);
00077       ~ClusterSummaryProducer(){};
00078 
00079    private:
00080       virtual void beginJob() ;
00081       virtual void produce(edm::Event&, const edm::EventSetup&);
00082 
00083       void decodeInput(std::vector<std::string> &, std::string );
00084       
00085       // ----------member data ---------------------------
00086       
00087       edm::InputTag stripClustersLabel;
00088       edm::InputTag pixelClustersLabel;
00089       std::string stripModules;
00090       std::vector<std::string> v_stripModuleTypes;
00091       std::string pixelModules;
00092       std::vector<std::string> v_pixelModuleTypes;
00093       
00094       std::string stripVariables;
00095       std::vector<std::string> v_stripVariables;
00096       std::string pixelVariables;
00097       std::vector<std::string> v_pixelVariables;
00098       
00099       ClusterSummary cCluster;
00100       std::map< std::string, int > EnumMap;
00101       std::vector<ClusterSummary::ModuleSelection*> ModuleSelectionVect;
00102       std::vector<ClusterSummary::ModuleSelection*> ModuleSelectionVectPixels;
00103 
00104 
00105       bool doStrips;
00106       bool doPixels;
00107       bool verbose;
00108       bool firstpass;
00109       bool firstpass_mod;
00110       bool firstpassPixel;
00111       bool firstpassPixel_mod;
00112 
00113       //Declare the variables to fill the summary info with
00114       std::vector<std::string> v_userContent; 
00115       
00116       
00117 
00118 };
00119 
00120 #endif