CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/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.4 2012/12/26 19:56:28 wmtan 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 
00060 
00061 //
00062 // class declaration
00063 //
00064 class ClusterVariables;
00065 class ClusterSummary;
00066 
00067 
00068 class ClusterSummaryProducer : public edm::EDProducer {
00069    public:
00070       explicit ClusterSummaryProducer(const edm::ParameterSet&);
00071       ~ClusterSummaryProducer(){};
00072 
00073    private:
00074       virtual void beginJob() ;
00075       virtual void produce(edm::Event&, const edm::EventSetup&);
00076 
00077       void decodeInput(std::vector<std::string> &, std::string );
00078       
00079       // ----------member data ---------------------------
00080       
00081       edm::InputTag stripClustersLabel;
00082       edm::InputTag pixelClustersLabel;
00083       std::string stripModules;
00084       std::vector<std::string> v_stripModuleTypes;
00085       std::string pixelModules;
00086       std::vector<std::string> v_pixelModuleTypes;
00087       
00088       std::string stripVariables;
00089       std::vector<std::string> v_stripVariables;
00090       std::string pixelVariables;
00091       std::vector<std::string> v_pixelVariables;
00092       
00093       ClusterSummary cCluster;
00094       std::map< std::string, int > EnumMap;
00095       std::vector<ClusterSummary::ModuleSelection*> ModuleSelectionVect;
00096       std::vector<ClusterSummary::ModuleSelection*> ModuleSelectionVectPixels;
00097 
00098 
00099       bool doStrips;
00100       bool doPixels;
00101       bool verbose;
00102       bool firstpass;
00103       bool firstpass_mod;
00104       bool firstpassPixel;
00105       bool firstpassPixel_mod;
00106 
00107       //Declare the variables to fill the summary info with
00108       std::vector<std::string> v_userContent; 
00109       
00110       
00111 
00112 };
00113 
00114 #endif