File indexing completed on 2024-04-06 12:29:27
0001 #include "DataFormats/EcalDetId/interface/ESDetId.h"
0002 #include "DataFormats/EcalDigi/interface/ESDataFrame.h"
0003 #include "SimDataFormats/CaloHit/interface/PCaloHit.h"
0004 #include "SimCalorimetry/CaloSimAlgos/interface/CaloHitResponse.h"
0005 #include "SimCalorimetry/CaloSimAlgos/interface/CaloTDigitizer.h"
0006 #include "SimCalorimetry/EcalSimAlgos/interface/EcalSimParameterMap.h"
0007 #include "SimCalorimetry/EcalSimAlgos/interface/ESShape.h"
0008 #include "SimCalorimetry/EcalSimAlgos/interface/EcalDigitizerTraits.h"
0009 #include "SimCalorimetry/EcalSimAlgos/interface/ESElectronicsSim.h"
0010 #include "SimDataFormats/CrossingFrame/interface/CrossingFrame.h"
0011 #include <vector>
0012 #include <iostream>
0013 #include <iterator>
0014
0015 int main() {
0016
0017
0018
0019 ESDetId ESDetId(1, 1, 1, 1, 1);
0020 PCaloHit ESHit(ESDetId.rawId(), 0.0003, 0.);
0021
0022 vector<DetId> ESDetIds;
0023 ESDetIds.push_back(ESDetId);
0024
0025 vector<PCaloHit> ESHits;
0026 ESHits.push_back(ESHit);
0027
0028 string ESName = "EcalHitsES";
0029
0030 edm::EventID id;
0031 CrossingFrame<PCaloHit> crossingFrame(-5, 5, 25, ESName, 1);
0032 crossingFrame.addSignals(&ESHits,id);
0033
0034 EcalSimParameterMap parameterMap;
0035 ESShape shape(1);
0036
0037 CaloHitResponse ESResponse(¶meterMap, &shape);
0038
0039 ESElectronicsSim electronicsSim(true, 3, 1, 1000, 9, 78.47);
0040
0041 bool addNoise = false;
0042 CaloTDigitizer<ESDigitizerTraits> ESDigitizer(&ESResponse, &electronicsSim, addNoise);
0043 ESDigitizer.setDetIds(ESDetIds);
0044
0045 unique_ptr<ESDigiCollection> ESResult(new ESDigiCollection);
0046
0047 MixCollection<PCaloHit> ESHitCollection(&crossingFrame);
0048
0049 ESDigitizer.run(ESHitCollection, *ESResult);
0050
0051
0052 cout << "ES Frames" << endl;
0053 copy(ESResult->begin(), ESResult->end(), std::ostream_iterator<ESDataFrame>(std::cout, "\n"));
0054
0055 return 0;
0056 }
0057
0058