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 |
|
//-------------------------------------------------------------------------------------------------- |
13 |
|
|
14 |
< |
#ifndef TREEFILLER_FILLERMCPARTICLES_H |
15 |
< |
#define TREEFILLER_FILLERMCPARTICLES_H |
14 |
> |
#ifndef MITPROD_TREEFILLER_FILLERMCPARTICLES_H |
15 |
> |
#define MITPROD_TREEFILLER_FILLERMCPARTICLES_H |
16 |
|
|
17 |
< |
#include "FWCore/ParameterSet/interface/ParameterSet.h" |
18 |
< |
#include "MitAna/DataUtil/interface/TreeWriter.h" |
18 |
< |
#include "MitAna/DataTree/interface/Collections.h" |
19 |
< |
#include "MitProd/TreeFiller/interface/BaseFiller.h" |
17 |
> |
#include "MitAna/DataTree/interface/MCParticleFwd.h" |
18 |
> |
#include "MitAna/DataTree/interface/TrackingParticleFwd.h" |
19 |
|
#include "MitProd/TreeFiller/interface/AssociationMaps.h" |
20 |
+ |
#include "MitProd/TreeFiller/interface/BaseFiller.h" |
21 |
+ |
#include "MitProd/TreeFiller/interface/HitPatternReader.h" |
22 |
+ |
|
23 |
|
|
24 |
|
namespace mithep |
25 |
|
{ |
29 |
|
FillerMCParticles(const edm::ParameterSet &cfg, const char *name, bool active=1); |
30 |
|
~FillerMCParticles(); |
31 |
|
|
32 |
< |
void BookDataBlock(TreeWriter &tws); |
33 |
< |
void FillDataBlock(const edm::Event &e, const edm::EventSetup &es); |
34 |
< |
void ResolveLinks (const edm::Event &e, const edm::EventSetup &es); |
32 |
> |
void BookDataBlock(TreeWriter &tws, const edm::EventSetup &es); |
33 |
> |
void FillDataBlock(const edm::Event &e, const edm::EventSetup &es); |
34 |
> |
void ResolveLinks (const edm::Event &e, const edm::EventSetup &es); |
35 |
|
|
36 |
|
private: |
37 |
< |
Bool_t genActive_; //=true if generated particles are filled |
38 |
< |
Bool_t simActive_; //=true if simulated particles are filled |
39 |
< |
std::string genEdmName_; //edm name of generated particles |
40 |
< |
std::string simEdmName_; //edm name of simulated particles |
41 |
< |
std::string genMapName_; //name of exported map wrt generated particles |
42 |
< |
std::string simMapName_; //name of exported map wrt simulated particles |
43 |
< |
std::string mitName_; //name of MCParticles branch in OAK |
44 |
< |
mithep::MCParticleArr *mcParticles_; //array of MCParticles |
45 |
< |
mithep::GenParticleMap *genMap_; //map wrt generated particles |
46 |
< |
mithep::SimParticleMap *simMap_; //map wrt simulated particles |
37 |
> |
bool genActive_; //=true if generated particles are filled |
38 |
> |
bool useAodGen_; //=true if AOD GenParticles to be used |
39 |
> |
bool simActive_; //=true if simulated particles are filled |
40 |
> |
bool trackingActive_; //=true if TrackingParticles are mapped |
41 |
> |
bool fillTracking_; //=treu if detailed sim hit info is filled |
42 |
> |
std::string genEdmName_; //edm name of generated particles |
43 |
> |
std::string simEdmName_; //edm name of simulated particles |
44 |
> |
std::string trackingEdmName_; //edm name of simulated TrackingParticles |
45 |
> |
std::string genMapName_; //name of exp map wrt generated particles |
46 |
> |
std::string simMapName_; //name of exp map wrt simulated particles |
47 |
> |
std::string trackingMapName_; //name of exp map wrt TrackingParticles |
48 |
> |
std::string mitName_; //name of MCParticles branch |
49 |
> |
std::string mitTrackingName_; //name of TrackingParticles branch |
50 |
> |
mithep::MCParticleArr *mcParticles_; //array of MCParticles |
51 |
> |
mithep::TrackingParticleArr *trackingParticles_; //array of TrackingParticles |
52 |
> |
mithep::GenParticleBarcodeMap *genMap_; //map wrt generated particles |
53 |
> |
mithep::AODGenParticleMap *aodGenMap_; //map wrt generated particles |
54 |
> |
mithep::SimTrackTidMap *simMap_; //map of SimTracks to G4 track ids |
55 |
> |
mithep::TrackingParticleMap *trackingMap_; //map wrt TrackingParticles |
56 |
> |
mithep::HitPatternReader hitReader_; //hit pattern reader |
57 |
|
}; |
58 |
|
} |
59 |
|
#endif |