3 |
|
// |
4 |
|
// FillerMCParticles |
5 |
|
// |
6 |
< |
// Imlementation of a filler to fill HepMC particles (gen) AND TrackingParticles (sim) |
7 |
< |
// into mithep::MCParticles. Gen and Sim particle information is thus merged into a single |
8 |
< |
// collection. |
6 |
> |
// Imlementation of a filler to fill HepMC particles or the AOD GenParticle candidates (gen) |
7 |
> |
// and SimTracks (sim) with association map to TrackingParticles (for hit-based MC truth matching) |
8 |
> |
// into mithep::MCParticles. Generated and simulated particle information is thus merged into a |
9 |
> |
// single collection. |
10 |
|
// |
11 |
|
// Authors: C.Loizides, J.Bendavid |
12 |
|
//-------------------------------------------------------------------------------------------------- |
14 |
|
#ifndef MITPROD_TREEFILLER_FILLERMCPARTICLES_H |
15 |
|
#define MITPROD_TREEFILLER_FILLERMCPARTICLES_H |
16 |
|
|
17 |
< |
#include <map> |
17 |
< |
#include "FWCore/ParameterSet/interface/ParameterSet.h" |
18 |
< |
#include "MitAna/DataUtil/interface/TreeWriter.h" |
19 |
< |
#include "MitAna/DataTree/interface/Collections.h" |
20 |
< |
#include "MitProd/TreeFiller/interface/BaseFiller.h" |
17 |
> |
#include "MitAna/DataTree/interface/MCParticleFwd.h" |
18 |
|
#include "MitProd/TreeFiller/interface/AssociationMaps.h" |
19 |
< |
#include "SimDataFormats/Track/interface/SimTrackContainer.h" |
19 |
> |
#include "MitProd/TreeFiller/interface/BaseFiller.h" |
20 |
|
|
21 |
|
namespace mithep |
22 |
|
{ |
26 |
|
FillerMCParticles(const edm::ParameterSet &cfg, const char *name, bool active=1); |
27 |
|
~FillerMCParticles(); |
28 |
|
|
29 |
< |
void BookDataBlock(TreeWriter &tws); |
30 |
< |
void FillDataBlock(const edm::Event &e, const edm::EventSetup &es); |
31 |
< |
void ResolveLinks (const edm::Event &e, const edm::EventSetup &es); |
29 |
> |
void BookDataBlock(TreeWriter &tws, const edm::EventSetup &es); |
30 |
> |
void FillDataBlock(const edm::Event &e, const edm::EventSetup &es); |
31 |
> |
void ResolveLinks (const edm::Event &e, const edm::EventSetup &es); |
32 |
|
|
33 |
|
private: |
34 |
< |
Bool_t genActive_; //=true if generated particles are filled |
35 |
< |
Bool_t simActive_; //=true if simulated particles are filled |
36 |
< |
Bool_t trackingActive_; //=true if simulated TrackingParticles are mapped |
37 |
< |
std::string genEdmName_; //edm name of generated particles |
38 |
< |
std::string simEdmName_; //edm name of simulated particles |
39 |
< |
std::string trackingEdmName_; //edm name of simulated TrackingParticles |
40 |
< |
std::string genMapName_; //name of exported map wrt generated particles |
41 |
< |
std::string simMapName_; //name of exported map wrt simulated particles |
42 |
< |
std::string trackingMapName_; //name of exported map wrt simulated TrackingParticles |
43 |
< |
std::string mitName_; //name of MCParticles branch in OAK |
44 |
< |
std::map<unsigned int, SimTrackRef> simTidMap_; //map of SimTracks to G4 track ids |
45 |
< |
mithep::MCParticleArr *mcParticles_; //array of MCParticles |
46 |
< |
mithep::GenParticleMap *genMap_; //map wrt generated particles |
47 |
< |
mithep::SimTrackMap *simMap_; //map wrt simulated particles |
48 |
< |
mithep::TrackingParticleMap *trackingMap_; //map wrt simulated TrackingParticles |
34 |
> |
bool genActive_; //=true if generated particles are filled |
35 |
> |
bool useAodGen_; //=true if AOD GenParticles to be used |
36 |
> |
bool simActive_; //=true if simulated particles are filled |
37 |
> |
bool trackingActive_; //=true if TrackingParticles are mapped |
38 |
> |
std::string genEdmName_; //edm name of generated particles |
39 |
> |
std::string simEdmName_; //edm name of simulated particles |
40 |
> |
std::string trackingEdmName_; //edm name of simulated TrackingParticles |
41 |
> |
std::string genMapName_; //name of exp map wrt generated particles |
42 |
> |
std::string simMapName_; //name of exp map wrt simulated particles |
43 |
> |
std::string trackingMapName_; //name of exp map wrt TrackingParticles |
44 |
> |
std::string mitName_; //name of MCParticles branch |
45 |
> |
mithep::MCParticleArr *mcParticles_; //array of MCParticles |
46 |
> |
mithep::GenParticleBarcodeMap *genMap_; //map wrt generated particles |
47 |
> |
mithep::AODGenParticleMap *aodGenMap_; //map wrt generated particles |
48 |
> |
mithep::SimTrackTidMap *simMap_; //map of SimTracks to G4 track ids |
49 |
> |
mithep::TrackingParticleMap *trackingMap_; //map wrt TrackingParticles |
50 |
|
}; |
51 |
|
} |
52 |
|
#endif |