24 <<
" event.omtfGpResultsPdfSum.num_elements() " << endl;
27 edm::LogVerbatim(
"l1tOmtfEventPrint") <<
" DataROOTDumper2 created" << std::endl;
34 rootTree =
new TTree(
"OMTFHitsTree",
"");
53 ptGenPos =
new TH1I(
"ptGenPos",
"ptGenPos", 400, 0, 200);
54 ptGenNeg =
new TH1I(
"ptGenNeg",
"ptGenNeg", 400, 0, 200);
67 std::unique_ptr<l1t::RegionalMuonCandBxCollection>& finalCandidates) {
106 auto& gpResult =
omtfCand->getGpResult();
114 for (
unsigned int iLogicLayer = 0; iLogicLayer < gpResult.getStubResults().size(); ++iLogicLayer) {
115 auto& stubResult = gpResult.getStubResults()[iLogicLayer];
116 if (stubResult.getMuonStub()) {
118 hit.layer = iLogicLayer;
119 hit.quality = stubResult.getMuonStub()->qualityHw;
120 hit.eta = stubResult.getMuonStub()->etaHw;
121 hit.valid = stubResult.getValid();
123 int hitPhi = stubResult.getMuonStub()->phiHw;
125 int phiRefHit = gpResult.getStubResults()[refLayerLogicNum].getMuonStub()->phiHw;
128 hitPhi = stubResult.getMuonStub()->phiBHw;
133 hit.phiDist = hitPhi - phiRefHit;
141 if (
hit.phiDist > 504 ||
hit.phiDist < -512) {
145 << stubResult.getValid() <<
" !!!!!!!!!!!!!!!!!!!!!!!!" << endl;
Log< level::Info, true > LogVerbatim
AlgoMuons::value_type omtfCand
virtual double hwEtaToEta(int hwEta) const
center of eta bin
unsigned int omtfFiredLayers
const math::XYZTLorentzVectorD & momentum() const
const int hwQual() const
Get quality code.
int type() const
particle type (HEP PDT convension)
l1t::RegionalMuonCand regionalMuonCand
void initializeTTree(std::string rootFileName)
Abs< T >::type abs(const T &t)
const std::vector< int > & getRefToLogicNumber() const
double hwPtToGev(int hwPt) const override
uGMT pt scale conversion
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
unsigned int nTestRefHits() const
DataROOTDumper2(const edm::ParameterSet &edmCfg, const OMTFConfiguration *omtfConfig, std::string rootFileName)
unsigned int candProcIndx
std::vector< unsigned long > hits
unsigned int omtfRefLayer
const OMTFConfiguration * omtfConfig
void observeEventEnd(const edm::Event &iEvent, std::unique_ptr< l1t::RegionalMuonCandBxCollection > &finalCandidates) override
Power< A, B >::type pow(const A &a, const B &b)
~DataROOTDumper2() override
bool isBendingLayer(unsigned int iLayer) const override