Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:05

0001 #include "RecoEgamma/EgammaTools/interface/EgammaRandomSeeds.h"
0002 
0003 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
0004 
0005 uint32_t egamma::getRandomSeedFromSC(const edm::Event& iEvent, const reco::SuperClusterRef scRef) {
0006   const int offset = 0;  //for future expansion
0007   std::seed_seq seeder = {int(iEvent.id().event()),
0008                           int(iEvent.id().luminosityBlock()),
0009                           int(iEvent.id().run()),
0010                           int(scRef->seed()->seed().rawId()),
0011                           int(scRef->seed()->hitsAndFractions().size()),
0012                           offset};
0013   uint32_t seed = 0, tries = 10;
0014   do {
0015     seeder.generate(&seed, &seed + 1);
0016     tries++;
0017   } while (seed == 0 && tries < 10);
0018   return seed ? seed : iEvent.id().event() + 10000 * scRef.key();
0019 }