File indexing completed on 2024-04-06 12:30:43
0001
0002
0003
0004
0005
0006
0007
0008 #include "CLHEP/Random/JamesRandom.h"
0009 #include "DataFormats/MuonDetId/interface/CSCDetId.h"
0010 #include "SimMuon/CSCDigitizer/src/CSCGasCollisions.h"
0011 #include <algorithm>
0012 #include <functional>
0013 #include <numeric>
0014
0015 int main() {
0016
0017
0018
0019
0020 edm::ParameterSet pset;
0021 pset.addUntrackedParameter<bool>("dumpGasCollisions", false);
0022 pset.registerIt();
0023
0024 CSCGasCollisions collisions(pset);
0025
0026 ParticleDataTable dummyTable;
0027
0028 collisions.setParticleDataTable(&dummyTable);
0029
0030 CLHEP::HepJamesRandom engine;
0031
0032 PSimHit simHit(
0033 LocalPoint(0., 0., -0.5), LocalPoint(0., 0., 0.5), 4., 0., 0.000005, 13, CSCDetId(1, 1, 1, 1, 1), 0, 0., 0., 0);
0034
0035
0036
0037
0038
0039
0040
0041
0042 int n = 100;
0043 int sumElectrons = 0;
0044 int sumClusters = 0;
0045 for (int i = 0; i < n; ++i) {
0046 std::vector<LocalPoint> clusters;
0047 std::vector<int> electrons;
0048 collisions.simulate(simHit, clusters, electrons, &engine);
0049
0050 sumElectrons += std::accumulate(electrons.begin(), electrons.end(), 0);
0051 sumClusters += clusters.size();
0052 }
0053
0054 std::cout << "Clusters: " << sumClusters / n << " electrons: " << sumElectrons / n << std::endl;
0055 return 0;
0056 }