CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimDataFormats/PileupSummaryInfo/src/PileupSummaryInfo.cc

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:     PileupSummaryInfo
00004 // Class  :     PileupSummaryInfo
00005 // 
00006 // Implementation:
00007 //
00008 //
00009 // Original Author:  Mike Hildreth, Notre Dame
00010 //         Created:  
00011 // $Id: PileupSummaryInfo.cc,v 1.5 2011/07/05 00:40:41 mikeh Exp $
00012 //
00013 
00014 #include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h"
00015 
00016 
00017 PileupSummaryInfo::PileupSummaryInfo( const int num_PU_vertices,
00018                      std::vector<float>& zpositions, 
00019                      std::vector<float>& sumpT_lowpT,
00020                      std::vector<float>& sumpT_highpT,
00021                      std::vector<int>&   ntrks_lowpT,
00022                      std::vector<int>&   ntrks_highpT )
00023 {
00024 
00025   num_PU_vertices_ =  num_PU_vertices;
00026   zpositions_.clear();
00027   sumpT_lowpT_.clear();
00028   sumpT_highpT_.clear();
00029   ntrks_lowpT_.clear();
00030   ntrks_highpT_.clear();
00031   instLumi_.clear();
00032   eventInfo_.clear();
00033 
00034   int NLoop = zpositions.size();
00035 
00036   for( int ivtx = 0; ivtx<NLoop ; ++ivtx) {
00037     zpositions_.push_back(zpositions[ivtx]); 
00038     sumpT_lowpT_.push_back(sumpT_lowpT[ivtx]);
00039     sumpT_highpT_.push_back(sumpT_highpT[ivtx]);
00040     ntrks_lowpT_.push_back(ntrks_lowpT[ivtx]);
00041     ntrks_highpT_.push_back(ntrks_highpT[ivtx]);
00042   }
00043 
00044 }
00045 
00046 PileupSummaryInfo::PileupSummaryInfo( const int num_PU_vertices,
00047                      std::vector<float>& zpositions, 
00048                      std::vector<float>& sumpT_lowpT,
00049                      std::vector<float>& sumpT_highpT,
00050                      std::vector<int>&   ntrks_lowpT,
00051                      std::vector<int>&   ntrks_highpT,
00052                      int bunchCrossing)
00053 {
00054 
00055   num_PU_vertices_ =  num_PU_vertices;
00056   zpositions_.clear();
00057   sumpT_lowpT_.clear();
00058   sumpT_highpT_.clear();
00059   ntrks_lowpT_.clear();
00060   ntrks_highpT_.clear();
00061   instLumi_.clear();
00062   eventInfo_.clear();
00063   bunchCrossing_ = bunchCrossing;
00064 
00065   int NLoop = zpositions.size();
00066 
00067   for( int ivtx = 0; ivtx<NLoop ; ++ivtx) {
00068     zpositions_.push_back(zpositions[ivtx]); 
00069     sumpT_lowpT_.push_back(sumpT_lowpT[ivtx]);
00070     sumpT_highpT_.push_back(sumpT_highpT[ivtx]);
00071     ntrks_lowpT_.push_back(ntrks_lowpT[ivtx]);
00072     ntrks_highpT_.push_back(ntrks_highpT[ivtx]);
00073   }
00074 
00075 }
00076 
00077 
00078 PileupSummaryInfo::PileupSummaryInfo( const int num_PU_vertices,
00079                      std::vector<float>& zpositions, 
00080                      std::vector<float>& sumpT_lowpT,
00081                      std::vector<float>& sumpT_highpT,
00082                      std::vector<int>&   ntrks_lowpT,
00083                      std::vector<int>&   ntrks_highpT,
00084                      int bunchCrossing,
00085                      float TrueNumInteractions )
00086 {
00087 
00088   num_PU_vertices_ =  num_PU_vertices;
00089   zpositions_.clear();
00090   sumpT_lowpT_.clear();
00091   sumpT_highpT_.clear();
00092   ntrks_lowpT_.clear();
00093   ntrks_highpT_.clear();
00094   instLumi_.clear();
00095   eventInfo_.clear();
00096   bunchCrossing_ = bunchCrossing;
00097   TrueNumInteractions_ = TrueNumInteractions;
00098 
00099   int NLoop = zpositions.size();
00100 
00101   for( int ivtx = 0; ivtx<NLoop ; ++ivtx) {
00102     zpositions_.push_back(zpositions[ivtx]); 
00103     sumpT_lowpT_.push_back(sumpT_lowpT[ivtx]);
00104     sumpT_highpT_.push_back(sumpT_highpT[ivtx]);
00105     ntrks_lowpT_.push_back(ntrks_lowpT[ivtx]);
00106     ntrks_highpT_.push_back(ntrks_highpT[ivtx]);
00107   }
00108 
00109 }
00110 
00111 
00112 
00113 PileupSummaryInfo::PileupSummaryInfo( const int num_PU_vertices,
00114                                       std::vector<float>& instLumi,
00115                                       std::vector<edm::EventID>& eventInfo)
00116 {
00117   num_PU_vertices_ =  num_PU_vertices;
00118   zpositions_.clear();
00119   sumpT_lowpT_.clear();
00120   sumpT_highpT_.clear();
00121   ntrks_lowpT_.clear();
00122   ntrks_highpT_.clear();
00123   instLumi_.clear();
00124   eventInfo_.clear();
00125 
00126 
00127   for( int ivtx = 0; ivtx<num_PU_vertices ; ++ivtx) {
00128     instLumi_.push_back(instLumi[ivtx]);
00129     eventInfo_.push_back(eventInfo[ivtx]);
00130   }
00131 }
00132 
00133 PileupSummaryInfo::~PileupSummaryInfo(){
00134 }