CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/SimGeneral/PileupInformation/interface/PileupInformation.h

Go to the documentation of this file.
00001 #ifndef SimGeneral_PileupInformation_h
00002 #define SimGeneral_PileupInformation_h
00003 
00004 #include <map>
00005 
00006 #include "DataFormats/Common/interface/Handle.h"
00007 
00008 #include "FWCore/Framework/interface/EDProducer.h"
00009 #include "FWCore/Framework/interface/Event.h"
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011 
00012 #include "CommonTools/RecoAlgos/interface/TrackingParticleSelector.h"
00013 
00014 #include "SimDataFormats/CrossingFrame/interface/CrossingFrame.h"
00015 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00016 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00017 #include "SimDataFormats/Track/interface/SimTrack.h"
00018 #include "SimDataFormats/Vertex/interface/SimVertex.h"
00019 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticleFwd.h"
00020 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertexContainer.h"
00021 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00022 #include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h"
00023 
00024 #include "SimGeneral/TrackingAnalysis/interface/EncodedTruthId.h"
00025 
00026 #include "Utilities/Timing/interface/TimingReport.h"
00027 #include "Utilities/Timing/interface/TimerStack.h"
00028 
00029 class PileupInformation : public edm::EDProducer
00030 {
00031 
00032 public:
00033 
00034     explicit PileupInformation( const edm::ParameterSet & );
00035 
00036 private:
00037 
00038     void produce( edm::Event &, const edm::EventSetup & );
00039 
00040     edm::ParameterSet conf_;
00041 
00042     typedef std::map<EncodedEventId, unsigned int> EncodedEventIdToIndex;
00043     typedef std::map< int, int > myindex;
00044     myindex event_index_;
00045 
00046     std::vector<float> zpositions;
00047     std::vector<float> sumpT_lowpT;
00048     std::vector<float> sumpT_highpT;
00049     std::vector<int> ntrks_lowpT;
00050     std::vector<int> ntrks_highpT;
00051 
00052 
00053     double                   distanceCut_;
00054     double                   volumeRadius_;
00055     double                   volumeZ_;
00056     double                   pTcut_1_;
00057     double                   pTcut_2_;
00058 
00059     edm::InputTag            trackingTruth_;
00060     edm::InputTag            PileupInfoLabel_;
00061 
00062     std::string MessageCategory_;
00063     std::string simHitLabel_;
00064     std::auto_ptr<MixCollection<SimTrack> >   simTracks_;
00065     std::auto_ptr<MixCollection<SimVertex> >  simVertexes_;
00066 
00067 
00068 
00069 };
00070 
00071 
00072 #endif