CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
TrackingTruthAccumulator.cc File Reference

Definitions of the TrackingTruthAccumulator methods. More...

#include "SimGeneral/TrackingAnalysis/plugins/TrackingTruthAccumulator.h"
#include "SimGeneral/MixingModule/interface/DigiAccumulatorMixModFactory.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "SimGeneral/MixingModule/interface/PileUpEventPrincipal.h"
#include "FWCore/Framework/interface/stream/EDProducer.h"
#include "SimGeneral/TrackingAnalysis/interface/EncodedTruthId.h"
#include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
#include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
#include "SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h"
#include "SimDataFormats/TrackingHit/interface/PSimHit.h"
#include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
#include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
#include "DataFormats/HepMCCandidate/interface/GenParticle.h"
#include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
#include "Geometry/Records/interface/TrackerTopologyRcd.h"
#include "FWCore/Framework/interface/ESHandle.h"

Go to the source code of this file.

Functions

static const
edm::DigiAccumulatorMixModPluginFactory::PMaker
< TrackingTruthAccumulator
s_maker__LINE__ ("TrackingTruthAccumulator")
 

Detailed Description

Definitions of the TrackingTruthAccumulator methods.

There are a lot of utility classes and functions in this file. This makes it quite long but I didn't want to confuse the directory structure with lots of extra files. My reasoning was that lots of people look at the directory contents but only the really interested ones will look in this particular file, and the utility stuff isn't used elsewhere.

There are three main sections to this file, from top to bottom: 1 - Declarations of extra utility stuff not in the header file. All in the unnamed namespace. 2 - Definitions of the TrackingTruthAccumulator methods. 3 - Definitions of the utility classes and functions declared in (1).

Author
Mark Grimes (mark..nosp@m.grim.nosp@m.es@br.nosp@m.isto.nosp@m.l.ac..nosp@m.uk)
Date
circa Oct/2012 to Feb/2013

Changelog: 05/May/2015 Mark Grimes - Added functionality to add a collection of just the initial vertices for FastTimer studies.

17/Jul/2014 Dominik Nowatschin (domin.nosp@m.ik.n.nosp@m.owats.nosp@m.chin.nosp@m.@cern.nosp@m..ch) - added SimVertex and a ref to HepMC::Genvertex to TrackingVertex in TrackingParticleFactory::createTrackingVertex; handle to edm::HepMCProduct is created directly in TrackingTruthAccumulator::accumulate and not in accumulateEvent as edm::Event and PileUpEventPrincipal have different getByLabel() functions

07/Feb/2013 Mark Grimes - Reorganised and added a bit more documentation. Still not enough though. 12/Mar/2012 Mark Grimes - Updated TrackingParticle creation to fit in with Subir Sarkar's re-implementation of TrackingParticle.

Definition in file TrackingTruthAccumulator.cc.

Function Documentation

static const edm::DigiAccumulatorMixModPluginFactory ::PMaker< TrackingTruthAccumulator > s_maker__LINE__ ( "TrackingTruthAccumulator"  )
static