1 #ifndef CaloAnalysis_CaloTruthAccumulator_h 2 #define CaloAnalysis_CaloTruthAccumulator_h 10 #include <unordered_map> 31 class ConsumesCollector;
58 template<
class T>
void fillSimHits( std::vector<std::pair<DetId,const PCaloHit*> > & returnValue,
const T& event,
const edm::EventSetup& setup );
60 std::vector<Barcode_t> descendantTrackBarcodes(
Barcode_t barcode );
61 std::unique_ptr<SimHitInfoPerSimTrack_t> attachedSimHitInfo(
Barcode_t st,
const std::vector<std::pair<DetId,const PCaloHit*> > &
hits,
62 bool includeOwn =
true,
bool includeOther =
false,
bool markUsed =
false);
63 std::unique_ptr<SimHitInfoPerSimTrack_t> descendantOnlySimHitInfo(
Barcode_t st,
const std::vector<std::pair<DetId,const PCaloHit*> > &
hits,
bool markUsed =
false);
64 std::unique_ptr<SimHitInfoPerSimTrack_t> allAttachedSimHitInfo(
Barcode_t st,
const std::vector<std::pair<DetId,const PCaloHit*> > &
hits,
bool markUsed =
false);
71 return m_simTracksConsideredForSimClusters.count( barcode );
175 #endif // end of "#ifndef CaloAnalysis_CaloTruthAccumulator_h"
std::pair< Index_t, Index_t > IndexPair_t
void setConsideredBarcode(Barcode_t barcode)
std::pair< Barcode_t, Barcode_t > BarcodePair_t
calo_particles m_caloParticles
std::unordered_multimap< Index_t, Index_t > m_detIdToCluster
edm::Handle< std::vector< SimVertex > > hSimVertices
std::unordered_multimap< Barcode_t, Index_t > m_simTrackToSimVertex
std::unordered_multimap< Barcode_t, Index_t > m_simHitBarcodeToIndex
const unsigned int maximumSubsequentBunchCrossing_
void swap(calo_particles &oth)
def setup(process, global_tag, zero_tesla=False)
std::unordered_map< Barcode_t, Index_t > m_genParticleBarcodeToIndex
std::unordered_map< Barcode_t, Index_t > m_genBarcodeToSimTrackIndex
std::vector< edm::InputTag > collectionTags_
edm::InputTag genParticleLabel_
bool signalOnly_
Uses the same config as selector_, but can be used to drop out early since selector_ requires the Tra...
OutputCollections output_
std::pair< Barcode_t, Index_t > BarcodeIndexPair_t
edm::InputTag hepMCproductLabel_
Needed to add HepMC::GenVertex to SimVertex.
const std::string messageCategory_
The message category used to send messages to MessageLogger.
const edm::InputTag simVertexLabel_
bool consideredBarcode(Barcode_t barcode)
std::unordered_map< Barcode_t, Barcode_t > m_simTrackBarcodeToSimVertexParentBarcode
std::vector< Barcode_t > m_simVertexBarcodes
const edm::InputTag simTrackLabel_
If bremsstrahlung merging, whether to also add the unmerged collection to the event or not...
std::unordered_map< Barcode_t, Index_t > m_simTrackBarcodeToIndex
edm::Handle< std::vector< SimTrack > > hSimTracks
std::unordered_map< Barcode_t, Index_t > m_simVertexBarcodeToIndex
std::unique_ptr< CaloParticleCollection > pCaloParticles
std::vector< uint32_t > sc_stop_
bool barcodeLogicWarningAlready_
const HcalDDDRecConstants * hcddd_
std::vector< SimHitInfoPerRecoDetId_t > SimHitInfoPerSimTrack_t
std::set< Barcode_t > m_simTracksConsideredForSimClusters
std::vector< uint32_t > sc_start_
std::pair< DetId, float > SimHitInfoPerRecoDetId_t
std::unique_ptr< SimClusterCollection > pSimClusters
When counting hits, allows hits in different detectors to have a different process type...
std::unordered_multimap< Barcode_t, Index_t > m_simVertexToSimTrackParent
std::vector< SimCluster > SimClusterCollection
std::unordered_map< Index_t, float > m_detIdToTotalSimEnergy
std::unordered_multimap< Barcode_t, Barcode_t > m_simVertexBarcodeToSimTrackBarcode
const unsigned int maximumPreviousBunchCrossing_
maximum distance for HepMC::GenVertex to be added to SimVertex
std::pair< IndexPair_t, float > SimHitInfo_t
bool chargedOnly_
Uses the same config as selector_, but can be used to drop out early since selector_ requires the Tra...