CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::PileUp Class Reference

#include <PileUp.h>

Public Member Functions

double averageNumber () const
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumi, const edm::EventSetup &setup)
 
void beginRun (const edm::Run &run, const edm::EventSetup &setup)
 
void beginStream (edm::StreamID)
 
void CalculatePileup (int MinBunch, int MaxBunch, std::vector< int > &PileupSelection, std::vector< float > &TrueNumInteractions, StreamID const &)
 
bool doPileUp (int BX)
 
void dropUnwantedBranches (std::vector< std::string > const &wantedBranches)
 
void endLuminosityBlock (const edm::LuminosityBlock &lumi, const edm::EventSetup &setup)
 
void endRun (const edm::Run &run, const edm::EventSetup &setup)
 
void endStream ()
 
const unsigned int & input () const
 
void input (unsigned int s)
 
 PileUp (ParameterSet const &pset, const std::shared_ptr< PileUpConfig > &config)
 
template<typename T >
void playOldFormatPileUp (std::vector< edm::EventID >::const_iterator begin, std::vector< edm::EventID >::const_iterator end, std::vector< edm::SecondaryEventIDAndFileInfo > &ids, T eventOperator)
 
template<typename T >
void playPileUp (std::vector< edm::SecondaryEventIDAndFileInfo >::const_iterator begin, std::vector< edm::SecondaryEventIDAndFileInfo >::const_iterator end, std::vector< edm::SecondaryEventIDAndFileInfo > &ids, T eventOperator)
 
bool poisson () const
 
template<typename T >
void readPileUp (edm::EventID const &signal, std::vector< edm::SecondaryEventIDAndFileInfo > &ids, T eventOperator, int const NumPU, StreamID const &)
 
void reload (const edm::EventSetup &setup)
 
void setupPileUpEvent (const edm::EventSetup &setup)
 
 ~PileUp ()
 

Private Member Functions

std::unique_ptr
< CLHEP::RandPoisson > const & 
poissonDistr_OOT (StreamID const &streamID)
 
std::unique_ptr
< CLHEP::RandPoissonQ > const & 
poissonDistribution (StreamID const &streamID)
 
CLHEP::HepRandomEngine * randomEngine (StreamID const &streamID)
 

Private Attributes

double averageNumber_
 
std::unique_ptr< EventPrincipaleventPrincipal_
 
size_t fileNameHash_
 
bool fixed_
 
bool fixed_OOT_
 
std::shared_ptr< TH1F > histo_
 
bool histoDistribution_
 
std::unique_ptr
< VectorInputSource > const 
input_
 
unsigned int inputType_
 
int const intAverage_
 
int intFixed_ITPU_
 
int intFixed_OOT_
 
std::shared_ptr
< LuminosityBlockPrincipal
lumiPrincipal_
 
bool manage_OOT_
 
int maxBunch_cosmics_
 
int minBunch_cosmics_
 
bool none_
 
bool playback_
 
bool poisson_
 
bool poisson_OOT_
 
std::unique_ptr
< CLHEP::RandPoisson > 
PoissonDistr_OOT_
 
std::unique_ptr
< CLHEP::RandPoissonQ > 
PoissonDistribution_
 
bool probFunctionDistribution_
 
std::shared_ptr
< ProcessConfiguration
processConfiguration_
 
std::shared_ptr< ProcessContextprocessContext_
 
std::shared_ptr< ProductRegistryproductRegistry_
 
std::unique_ptr
< SecondaryEventProvider
provider_
 
bool PU_Study_
 
CLHEP::HepRandomEngine * randomEngine_
 
std::shared_ptr< RunPrincipalrunPrincipal_
 
bool sequential_
 
std::string Source_type_
 
std::shared_ptr< StreamContextstreamContext_
 
std::string Study_type_
 
std::string type_
 

Detailed Description

Definition at line 40 of file PileUp.h.

Constructor & Destructor Documentation

edm::PileUp::PileUp ( ParameterSet const &  pset,
const std::shared_ptr< PileUpConfig > &  config 
)
explicit

Definition at line 64 of file PileUp.cc.

edm::PileUp::~PileUp ( )

Definition at line 322 of file PileUp.cc.

Member Function Documentation

double edm::PileUp::averageNumber ( ) const
inline

Definition at line 54 of file PileUp.h.

void edm::PileUp::beginLuminosityBlock ( const edm::LuminosityBlock lumi,
const edm::EventSetup setup 
)

Definition at line 201 of file PileUp.cc.

void edm::PileUp::beginRun ( const edm::Run run,
const edm::EventSetup setup 
)

Definition at line 194 of file PileUp.cc.

void edm::PileUp::beginStream ( edm::StreamID  )

Definition at line 176 of file PileUp.cc.

void edm::PileUp::CalculatePileup ( int  MinBunch,
int  MaxBunch,
std::vector< int > &  PileupSelection,
std::vector< float > &  TrueNumInteractions,
StreamID const &  streamID 
)

Definition at line 349 of file PileUp.cc.

bool edm::PileUp::doPileUp ( int  BX)
inline

Definition at line 56 of file PileUp.h.

void edm::PileUp::dropUnwantedBranches ( std::vector< std::string > const &  wantedBranches)
inline

Definition at line 64 of file PileUp.h.

void edm::PileUp::endLuminosityBlock ( const edm::LuminosityBlock lumi,
const edm::EventSetup setup 
)

Definition at line 215 of file PileUp.cc.

void edm::PileUp::endRun ( const edm::Run run,
const edm::EventSetup setup 
)

Definition at line 210 of file PileUp.cc.

void edm::PileUp::endStream ( )

Definition at line 186 of file PileUp.cc.

const unsigned int& edm::PileUp::input ( ) const
inline

Definition at line 86 of file PileUp.h.

void edm::PileUp::input ( unsigned int  s)
inline

Definition at line 87 of file PileUp.h.

template<typename T >
void edm::PileUp::playOldFormatPileUp ( std::vector< edm::EventID >::const_iterator  begin,
std::vector< edm::EventID >::const_iterator  end,
std::vector< edm::SecondaryEventIDAndFileInfo > &  ids,
T  eventOperator 
)

Definition at line 200 of file PileUp.h.

template<typename T >
void edm::PileUp::playPileUp ( std::vector< edm::SecondaryEventIDAndFileInfo >::const_iterator  begin,
std::vector< edm::SecondaryEventIDAndFileInfo >::const_iterator  end,
std::vector< edm::SecondaryEventIDAndFileInfo > &  ids,
T  eventOperator 
)

Definition at line 192 of file PileUp.h.

bool edm::PileUp::poisson ( ) const
inline

Definition at line 55 of file PileUp.h.

std::unique_ptr< CLHEP::RandPoisson > const & edm::PileUp::poissonDistr_OOT ( StreamID const &  streamID)
private

Definition at line 333 of file PileUp.cc.

std::unique_ptr< CLHEP::RandPoissonQ > const & edm::PileUp::poissonDistribution ( StreamID const &  streamID)
private

Definition at line 325 of file PileUp.cc.

CLHEP::HepRandomEngine * edm::PileUp::randomEngine ( StreamID const &  streamID)
private

Definition at line 341 of file PileUp.cc.

template<typename T >
void edm::PileUp::readPileUp ( edm::EventID const &  signal,
std::vector< edm::SecondaryEventIDAndFileInfo > &  ids,
T  eventOperator,
int const  pileEventCnt,
StreamID const &  streamID 
)

Generates events from a VectorInputSource. This function decides which method of VectorInputSource to call: sequential, random, or pre-specified. The ids are either ids to read or ids to store while reading. eventOperator has a type that matches the eventOperator in VectorInputSource::loopRandom.

The "signal" event is optionally used to restrict the secondary events used for pileup and mixing.

Definition at line 176 of file PileUp.h.

void edm::PileUp::reload ( const edm::EventSetup setup)

Definition at line 230 of file PileUp.cc.

void edm::PileUp::setupPileUpEvent ( const edm::EventSetup setup)

Definition at line 221 of file PileUp.cc.

Member Data Documentation

double edm::PileUp::averageNumber_
private

Definition at line 98 of file PileUp.h.

std::unique_ptr<EventPrincipal> edm::PileUp::eventPrincipal_
private

Definition at line 126 of file PileUp.h.

size_t edm::PileUp::fileNameHash_
private

Definition at line 120 of file PileUp.h.

bool edm::PileUp::fixed_
private

Definition at line 104 of file PileUp.h.

bool edm::PileUp::fixed_OOT_
private

Definition at line 108 of file PileUp.h.

std::shared_ptr<TH1F> edm::PileUp::histo_
private

Definition at line 100 of file PileUp.h.

bool edm::PileUp::histoDistribution_
private

Definition at line 101 of file PileUp.h.

std::unique_ptr<VectorInputSource> const edm::PileUp::input_
private

Definition at line 122 of file PileUp.h.

unsigned int edm::PileUp::inputType_
private

Definition at line 95 of file PileUp.h.

int const edm::PileUp::intAverage_
private

Definition at line 99 of file PileUp.h.

int edm::PileUp::intFixed_ITPU_
private

Definition at line 115 of file PileUp.h.

int edm::PileUp::intFixed_OOT_
private

Definition at line 114 of file PileUp.h.

std::shared_ptr<LuminosityBlockPrincipal> edm::PileUp::lumiPrincipal_
private

Definition at line 127 of file PileUp.h.

bool edm::PileUp::manage_OOT_
private

Definition at line 106 of file PileUp.h.

int edm::PileUp::maxBunch_cosmics_
private

Definition at line 118 of file PileUp.h.

int edm::PileUp::minBunch_cosmics_
private

Definition at line 117 of file PileUp.h.

bool edm::PileUp::none_
private

Definition at line 105 of file PileUp.h.

bool edm::PileUp::playback_
private

Definition at line 139 of file PileUp.h.

bool edm::PileUp::poisson_
private

Definition at line 103 of file PileUp.h.

bool edm::PileUp::poisson_OOT_
private

Definition at line 107 of file PileUp.h.

std::unique_ptr<CLHEP::RandPoisson> edm::PileUp::PoissonDistr_OOT_
private

Definition at line 131 of file PileUp.h.

std::unique_ptr<CLHEP::RandPoissonQ> edm::PileUp::PoissonDistribution_
private

Definition at line 130 of file PileUp.h.

bool edm::PileUp::probFunctionDistribution_
private

Definition at line 102 of file PileUp.h.

std::shared_ptr<ProcessConfiguration> edm::PileUp::processConfiguration_
private

Definition at line 123 of file PileUp.h.

std::shared_ptr<ProcessContext> edm::PileUp::processContext_
private

Definition at line 124 of file PileUp.h.

std::shared_ptr<ProductRegistry> edm::PileUp::productRegistry_
private

Definition at line 121 of file PileUp.h.

std::unique_ptr<SecondaryEventProvider> edm::PileUp::provider_
private

Definition at line 129 of file PileUp.h.

bool edm::PileUp::PU_Study_
private

Definition at line 110 of file PileUp.h.

CLHEP::HepRandomEngine* edm::PileUp::randomEngine_
private

Definition at line 132 of file PileUp.h.

std::shared_ptr<RunPrincipal> edm::PileUp::runPrincipal_
private

Definition at line 128 of file PileUp.h.

bool edm::PileUp::sequential_
private

Definition at line 142 of file PileUp.h.

std::string edm::PileUp::Source_type_
private

Definition at line 97 of file PileUp.h.

std::shared_ptr<StreamContext> edm::PileUp::streamContext_
private

Definition at line 125 of file PileUp.h.

std::string edm::PileUp::Study_type_
private

Definition at line 111 of file PileUp.h.

std::string edm::PileUp::type_
private

Definition at line 96 of file PileUp.h.

Referenced by RandomRunSource.RandomRunSource::insertInto().