CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions | Variables
readTestVector.cc File Reference
#include <iostream>
#include <iomanip>
#include <fstream>
#include <memory>
#include <map>
#include "DataFormats/L1Trigger/interface/EGamma.h"
#include "DataFormats/L1Trigger/interface/Muon.h"
#include "DataFormats/L1Trigger/interface/Tau.h"
#include "DataFormats/L1Trigger/interface/Jet.h"
#include "DataFormats/L1Trigger/interface/EtSum.h"
#include "L1Trigger/L1TGlobal/src/L1TMenuEditor/L1TriggerMenu.hxx"
#include "FWCore/Utilities/interface/typedefs.h"
#include <boost/program_options.hpp>
#include "TH1.h"
#include "TFile.h"

Go to the source code of this file.

Macros

#define M_PI   3.14159265358979323846
 

Functions

double convertEtaFromHW (int hwEta, double max, double step, int hwMax)
 
double convertPhiFromHW (int hwPhi, double step)
 
double convertPtFromHW (int hwPt, double max, double step)
 
int main (int argc, char **argv)
 
void parseAlgo (std::string algo)
 
void parseEGs (std::vector< std::string > egs, bool verbose)
 
void parseEtSums (std::vector< std::string > etsums, bool verbose)
 
void parseJets (std::vector< std::string > jets, bool verbose)
 
void parseMuons (std::vector< std::string > muons, bool verbose)
 
void parseTaus (std::vector< std::string > taus, bool verbose)
 
l1t::EGamma unpackEGs (std::string ieg)
 
l1t::EtSum unpackEtSums (std::string ietsum, l1t::EtSum::EtSumType type)
 
l1t::Jet unpackJets (std::string ijet)
 
l1t::Muon unpackMuons (std::string imu)
 
l1t::Tau unpackTaus (std::string itau)
 

Variables

double EtaStepCalo_ = 230
 
double EtaStepMuon_ = 450
 
TH1D * h_l1eg_eta_
 
TH1D * h_l1eg_num_
 
TH1D * h_l1eg_phi_
 
TH1D * h_l1eg_pt_
 
TH1D * h_l1et_
 
TH1D * h_l1etm_et_
 
TH1D * h_l1etm_phi_
 
TH1D * h_l1ht_
 
TH1D * h_l1htm_et_
 
TH1D * h_l1htm_phi_
 
TH1D * h_l1jet_eta_
 
TH1D * h_l1jet_num_
 
TH1D * h_l1jet_phi_
 
TH1D * h_l1jet_pt_
 
TH1D * h_l1mu_eta_
 
TH1D * h_l1mu_num_
 
TH1D * h_l1mu_phi_
 
TH1D * h_l1mu_pt_
 
TH1D * h_l1tau_eta_
 
TH1D * h_l1tau_num_
 
TH1D * h_l1tau_phi_
 
TH1D * h_l1tau_pt_
 
std::vector< int > l1taccepts
 
std::vector< int > l1taccepts_evt
 
std::vector< std::string > l1tnames
 
const int MAX_ALGO_BITS = 512
 
double MaxCaloEta_ = 5.0
 
double MaxEt_ = 2047
 
double MaxJetPt_ = 1023
 
double MaxLepPt_ = 255
 
double MaxMuonEta_ = 2.45
 
double PhiStepCalo_ = 144
 
double PhiStepMuon_ = 576
 
double PtStep_ = 0.5
 
std::string zeroes128 = std::string(128,'0')
 
std::string zeroes16 = std::string(16,'0')
 
std::string zeroes8 = std::string(8,'0')
 

Macro Definition Documentation

#define M_PI   3.14159265358979323846

Definition at line 25 of file readTestVector.cc.

Referenced by GflashTrajectory::_refreshCache(), reco::WMuNuCandidate::acop(), reco::WMuNuCandidatePtr::acop(), gen::Pythia6Gun::addAntiParticle(), fireworks::addCircle(), fireworks::addDashedLine(), fireworks::addDoubleLines(), ALIUtils::addPii(), OpticalObject::addPii(), PixelUnpackingRegions::addRegionLocal(), MuonCSCChamberResidual::addResidual(), TrackDetectorAssociator::addTAMuonSegmentMatch(), FSRWeightProducer::alphaRatio(), EwkMuDQM::analyze(), EwkMuLumiMonitorDQM::analyze(), QcdHighPtDQM::analyze(), L1GctValidation::analyze(), CheckHitPattern::analyze(), TrackParameterAnalyzer::analyze(), DTTrigTest::analyze(), MuonGeometrySVGTemplate::analyze(), EcalSimHitsValidation::analyze(), EcalRecHitsValidation::analyze(), MuonDTDigis::analyze(), EcalDigisValidation::analyze(), TestOutliers::analyze(), FFTJetPileupAnalyzer::analyze(), L1TCSCTF::analyze(), MuonTrackValidator::analyze(), PrimaryVertexAnalyzer4PU::analyzeVertexCollection(), CSCSegAlgoSK::areHitsCloseInGlobalPhi(), CSCSegAlgoTC::areHitsCloseInGlobalPhi(), FWCaloTowerProxyBuilderBase::assertCaloDataSlice(), myFastSimVal::beginJob(), JetPlotsExample< Jet >::beginJob(), JetValidation::beginJob(), JetAnaPythia< Jet >::beginJob(), PFTester::beginJob(), DijetMass< Jet >::beginJob(), PatTrackAnalyzer::beginJob(), QcdHighPtDQM::beginJob(), WMuNuSelector::beginJob(), L1GctValidation::beginJob(), myJetAna::beginJob(), TrackParameterAnalyzer::beginJob(), L1TCSCTF::beginJob(), MuonCSCSeedFromRecHits::bestEndcapHit(), AlignmentMonitorMuonSystemMap1D::book(), AlignmentMonitorGeneric::book(), PrimaryVertexAnalyzer4PU::bookVertexHistograms(), BremsstrahlungSimulator::brem(), MuonBremsstrahlungSimulator::brem(), FWTauProxyBuilderBase::buildBaseTau(), FWECALDetailViewBuilder::buildCaloData(), FFTJetEFlowSmoother::buildKernelConvolver(), FFTJetPileupProcessor::buildKernelConvolver(), FFTJetPatRecoProducer::buildKernelConvolver(), KDTreeLinkerTrackEcal::buildTree(), KDTreeLinkerTrackHcal::buildTree(), FWMETProxyBuilder::buildViewType(), FWJetProxyBuilder::buildViewType(), CSCSectorReceiverLUT::calcGlobalPhiME(), GsfVertexWeightCalculator::calculate(), TwoTrackMinimumDistanceHelixLine::calculate(), pat::CaloIsolationEnergy::calculate(), ClusterShapeAlgo::Calculate_EnergyDepTopology(), ALIUtils::CalculateAngleDimensionFactorFromString(), DTTracoChip::calculateAngles(), JetPlusTrackProducerAA::calculateBGtracksJet(), TBPositionCalc::CalculateCMSPos(), CSCPairResidualsConstraint::calculatePhi(), CSCEfficiency::chamberCandidates(), AlignmentTwoBodyDecayTrackSelector::checkAcoplanarity(), HLTEgammaL1MatchFilterPairs::CheckL1Matching(), AlignmentTwoBodyDecayTrackSelector::checkMETAcoplanarity(), ParticleKinematicLinearizedTrackState::checkParameters(), PerigeeMultiLTS::checkParameters(), PixelTripletLargeTipGenerator::checkPhiInRange(), MultiHitGeneratorFromChi2::checkPhiInRange(), PairProductionSimulator::compute(), HFShower::compute(), HDShower::compute(), EMShower::compute(), ParticleKinematicLinearizedTrackState::computeChargedJacobians(), GaussianSumUtilities1D::computeMode(), HFCherenkov::computeNbOfPhotons(), HFCherenkov::computeNPE(), HFCherenkov::computeNPEinPMT(), HFCherenkov::computeNPhTrapped(), DTDigitizer::computeTime(), EcalHitMaker::configureGeometry(), LaserAlignment::ConvertAngle(), convertPhiFromHW(), JetPlusTrackCorrector::correctAA(), SiStripMonitorMuonHLT::createMEs(), CaloDetIdAssociator::crossedElement(), CSCOverlapsAlignmentAlgorithm::CSCOverlapsAlignmentAlgorithm(), MuonShowerInformationFiller::cscPositionToDets(), PhiScaleHelper::deg2rad(), degrees(), delPhi(), TtDilepLRSignalSelObservables::delta(), CachedTrajectory::delta(), reco::deltaPhi(), HLTHemiDPhiFilter::deltaPhi(), PFBenchmarkAlgo::deltaPhi(), CaloSubdetectorGeometry::deltaPhi(), L1MuonPixelTrackFitter::deltaPhi(), JetVertexMain::DeltaR(), PythiaFilterEMJetHeep::deltaR(), CalibratableTest::deltaR(), reco::deltaR2(), FFTJetProducer::determinePileup(), OpticalObject::diff2pi(), pat::helper::ParametrizationHelper::diffToParameters(), reco::isodeposit::Direction::Direction(), MuonSeedOrcaPatternRecognition::discriminator(), IsoTrig::dPhi(), L1MuGMTPhiLUT::dphi(), CSCPairResidualsConstraint::dphidzFromTrack(), SiPixelTrackerMap::drawModule(), TrackerMap::drawModule(), MuonShowerInformationFiller::dtPositionToDets(), ALIUtils::dumpDimensions(), EcalTrapezoidParameters::EcalTrapezoidParameters(), L1CaloGeometry::emJetPhiIndex(), OpticalObject::eq2ang(), LandauFluctuationGenerator::ersatzt(), L1CaloGeometry::etSumPhiIndex(), AlignmentMonitorTracksFromTrajectories::event(), KinematicPerigeeConversions::extendedPerigeeFromKinematicParameters(), HcalDDDGeometryLoader::fill(), MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos(), FWECALDetailViewBuilder::fillData(), MaterialBudgetEcalHistos::fillEndTrack(), HCALRecHitAnalyzer::FillGeometry(), ECALRecHitAnalyzer::FillGeometry(), cms::PileupJPTJetIdAlgo::fillJPTBlock(), ColinearityKinematicConstraintT< Dim >::fillValue(), PFMETFilter::filter(), PFFilter::filter(), WMuNuValidator::filter(), ThirdHitPrediction::findArcIntersection(), EgammaHLTTrackIsolation::findIsoTracks(), EgammaHLTTrackIsolation::findIsoTracksWithoutEle(), L1GctMet::floatingPointAlgo(), PerigeeConversions::ftsToPerigeeParameters(), FWLegoEvePFCandidate::FWLegoEvePFCandidate(), PairProductionSimulator::gbteth(), BremsstrahlungSimulator::gbteth(), MuonBremsstrahlungSimulator::gbteth(), gen::Pythia6JetGun::generateEvent(), gen::Pythia6PtYDistGun::generateEvent(), gen::Py8JetGun::generatePartonsAndHadronize(), LaserBeamsBarrel::GeneratePrimaries(), LaserBeamsTEC1::GeneratePrimaries(), LaserBeamsTEC2::GeneratePrimaries(), HcalGeometry::getCells(), CaloSubdetectorGeometry::getCells(), TrackFitter::getCharge(), HcalDDDGeometry::getClosestCell(), RPCSeedrecHitFinder::getdeltaPhifromrecHits(), DetIdAssociator::getDetIdsCloseToAPoint(), DetIdAssociator::getDetIdsInACone(), FittedEntriesManager::GetDifferentBetweenLasers(), ALIUtils::getDimensionValue(), L2TauModularIsolationProducer::getECALHits(), L2TauIsolationProducer::getECALHits(), L2TauNarrowConeIsolationProducer::getECALHits(), CastorSD::getEnergyDeposit(), EcalClusterToolsT< noZS >::getEnergyDepTopology(), NtupleManager::GetGlobalAngles(), CSCSectorReceiverLUT::getGlobalPhiValue(), GflashTrajectory::getL2DAtR(), CocoaDBMgr::GetOptAlignInfoFromOptO(), L2TauModularIsolationProducer::getPFClusters(), fireworks::getPhiRange(), getPhysicalPhi(), ThirdHitPrediction::getRanges(), CastorShowerLibrary::getShowerHits(), PrimaryVertexAnalyzer4PU::getSimTrkParameters(), CachedTrajectory::getWideTrajectory(), HcalFlexiHardcodeGeometryLoader::HcalFlexiHardcodeGeometryLoader(), HDRShower::HDRShower(), helicityAngle(), HerwigMaxPtPartonFilter::HerwigMaxPtPartonFilter(), MultiHitGeneratorFromChi2::hitSets(), PixelTripletNoTipGenerator::hitTriplets(), HLTPhi2METFilter::hltFilter(), HLTEgammaDoubleEtDeltaPhiFilter::hltFilter(), HLTMuonDimuonL3Filter::hltFilter(), HLTMuonDimuonL2Filter::hltFilter(), HLTMuonTrimuonL3Filter::hltFilter(), HLTExclDiJetFilter< T >::hltFilter(), HLTEgammaDoubleEtPhiFilter::hltFilter(), HLTAcoFilter::hltFilter(), HLTDoublet< T1, T2 >::hltFilter(), L1CaloGeometry::htSumPhiIndex(), Rivet::MC_LES_HOUCHES_SYSTEMATICS_CMS::init(), WMuNuValidator::init_histograms(), EwkMuDQM::init_histograms(), GflashTrajectory::initializeTrajectory(), int2dphi(), int2phi(), reco::helper::VirtualJetProducerHelper::intersection(), DetIdAssociator::iPhi(), MuonMesh::isClusteredWith(), MuonMesh::isDuplicateOf(), CSCSegAlgoShowering::isHitNearSegment(), CSCSegAlgoSK::isHitNearSegment(), CSCSegAlgoTC::isHitNearSegment(), CSCSegAlgoDF::isHitNearSegment(), pat::helper::ParametrizationHelper::isPhysical(), PerigeeConversions::jacobianCurvilinear2Perigee(), JacobianCurvilinearToCartesian::JacobianCurvilinearToCartesian(), PerigeeConversions::jacobianPerigee2Curvilinear(), GlobalTrackQualityProducer::kink(), L1CaloGeometry::L1CaloGeometry(), reco::TrackBase::lambda(), reco::GsfTrack::lambdaMode(), main(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), HcalHardcodeGeometryLoader::makeCell(), HFClusterAlgo::makeCluster(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), fireworks::makeRhoPhiSuperCluster(), TrackParameterAnalyzer::match(), PrimaryVertexAnalyzer4PU::match(), ThirdHitPredictionFromCircle::HelixRZ::maxCurvature(), OuterDetCompatibility::maximalLocalDisplacement(), PixelTripletLargeTipGenerator::mergePhiRanges(), MultiHitGeneratorFromChi2::mergePhiRanges(), MuonDT13ChamberResidual::MuonDT13ChamberResidual(), MuonResidualsFitter_compute_log_convolution(), MuonResidualsFitter_logGaussPowerTails(), MuonResidualsFitter_logPowerLawTails(), MuonResidualsFitter_logPureGaussian(), MuonResidualsFitter_logPureGaussian2D(), MuonTrackDT13ChamberResidual::MuonTrackDT13ChamberResidual(), SiPixelFedCablingMapBuilder::myprint(), DetIdAssociator::nearElement(), BeamProfileVtxGenerator::newVertex(), normalizedPhi(), SiStripMonitorMuonHLT::Normalizer(), SiStripElectronSeedGenerator::normalPhi(), fftjetcms::JetToPeakDistance::operator()(), fftjetcms::JetConvergenceDistance::operator()(), TtDilepLRSignalSelObservables::operator()(), ThirdHitPredictionFromCircle::operator()(), OuterHitPhiPrediction::operator()(), operator<<(), ThirdHitPredictionFromCircle::phi(), phi2int(), phi2short(), Phi_0_2pi(), JetUtil::Phi_0_2pi(), Phi_mpi_pi(), JetUtil::Phi_mpi_pi(), reco::helper::CastorJetIDHelper::phiangle(), CastorClusterProducer::phiangle(), pat::PackedCandidate::phiAtVtx(), CSCSegAlgoSK::phiAtZ(), CSCSegAlgoTC::phiAtZ(), HcalGeometry::phiBin(), SiStripElectronSeedGenerator::phiDiff(), hitfit::phidiff(), InnerDeltaPhi::phiRange(), TrackerMap::phival(), L1MuDTTrackSegPhi::phiValue(), SiStripRegionCabling::position(), SiStripRegionCabling::positionIndex(), hcalCalib::Process(), AlignmentMonitorMuonSystemMap1D::processMuonResidualsFromTrack(), CastorFastTowerProducer::produce(), reco::modules::DuplicateTrackMerger::produce(), FFTJetEFlowSmoother::produce(), JetPlusTrackProducerAA::produce(), JetCrystalsAssociator::produce(), BaseParticlePropagator::propagate(), spr::propagateCalo(), FastPixelHitMatcher::propagateToLayer(), cms::MuonTCMETValueMapProducer::propagateTrack(), spr::propagateTrackerEnd(), TCMETAlgo::propagateTrackToCalorimeterFace(), PhiScaleHelper::rad2deg(), radiants(), radius(), JetUtil::radius(), CSCChamberFitter::radiusCorrection(), ThirdHitPredictionFromCircle::HelixRZ::rAtZ(), SimG4HcalHitJetFinder::rDist(), CSCEfficiency::recHitSegment_Efficiencies(), SoftLepton::refineJetAxis(), ParticleKinematicLinearizedTrackState::refittedParamFromEquation(), PerigeeMultiLTS::refittedParamFromEquation(), SiStripRegionCabling::regionDimensions(), CastorSD::rotateUnitID(), RecoTracktoTP::s_lambda(), TPtoRecoTrack::s_lambda(), KDTreeLinkerTrackHcal::searchLinks(), KDTreeLinkerTrackEcal::searchLinks(), MuonIdProducer::sectorPhi(), SeedMultiplicityAnalyzer::SeedMultiplicityAnalyzer(), CastorShowerLibrary::select(), PFElectronAlgo::SetCandidates(), HDRShower::setHit(), PFElectronAlgo::SetIDOutputs(), PFElectronAlgo::SetLinks(), SimpleL1MuGMTCand::setPhi(), HFClusterAlgo::setup(), GenericBenchmark::setup(), TrackMaker::SetVars(), short2phi(), WeakEffectsWeightProducer::sigma0_qqbarll(), spin(), ThirdHitPrediction::spinCloser(), PrimaryVertexAnalyzer4PU::supf(), LinkByRecHit::testTrackAndClusterByRecHit(), L1MuGMTLFPhiProLUT::TheLookupFunction(), L1MuGMTMIAUPhiPro1LUT::TheLookupFunction(), TrackCount::TrackCount(), TrackerStablePhiSort(), TtFullHadSignalSel::TtFullHadSignalSel(), HcalNumberingFromDDD::unitPhi(), SiStripElectronAnalyzer::unwrapPhi(), SiStripElectronSeedGenerator::unwrapPhi(), SiStripElectronAlgo::unwrapPhi(), LaserSteppingAction::UserSteppingAction(), ColinearityKinematicConstraint::value(), L1GctHtMissLut::value(), reco::isodeposit::NumCrystalEtaPhiVeto::veto(), reco::isodeposit::RectangularEtaPhiVeto::veto(), and VirtualJetProducer::writeJets().

Function Documentation

double convertEtaFromHW ( int  hwEta,
double  max,
double  step,
int  hwMax 
)

Definition at line 571 of file readTestVector.cc.

References eta(), and relval_parameters_module::step.

Referenced by parseEGs(), parseJets(), parseMuons(), and parseTaus().

571  {
572  hwMax++;
573  double binWidth = 2*max/step;
574  double eta = ( hwEta<int(hwMax/2+1.001) ) ? double(hwEta)*binWidth+0.5*binWidth : -(double(hwMax-hwEta)*binWidth -0.5*binWidth);
575  return eta;
576 }
T eta() const
const T & max(const T &a, const T &b)
double convertPhiFromHW ( int  hwPhi,
double  step 
)

Definition at line 577 of file readTestVector.cc.

References M_PI, and phi.

Referenced by parseEGs(), parseEtSums(), parseJets(), parseMuons(), and parseTaus().

577  {
578  double phi = double(hwPhi)/step * 2 * M_PI;
579  return phi;
580 }
#define M_PI
Definition: DDAxes.h:10
double convertPtFromHW ( int  hwPt,
double  max,
double  step 
)

Definition at line 565 of file readTestVector.cc.

References max(), RecoTauCleanerPlugins::pt, and relval_parameters_module::step.

Referenced by parseEGs(), parseEtSums(), parseJets(), parseMuons(), and parseTaus().

565  {
566  double pt = double(hwPt)/step;
567  if( pt>max ) pt = max;
568  return pt;
569 }
const T & max(const T &a, const T &b)
int main ( int  argc,
char **  argv 
)

Setup histograms

Definition at line 100 of file readTestVector.cc.

References algorithm(), gather_cfg::cout, EtaStepCalo_, EtaStepMuon_, cppFunctionSkipper::exception, mergeVDriftHistosByStation::file, groupFilesInBlocks::fin, h_l1eg_eta_, h_l1eg_num_, h_l1eg_phi_, h_l1eg_pt_, h_l1et_, h_l1etm_et_, h_l1etm_phi_, h_l1ht_, h_l1htm_et_, h_l1htm_phi_, h_l1jet_eta_, h_l1jet_num_, h_l1jet_phi_, h_l1jet_pt_, h_l1mu_eta_, h_l1mu_num_, h_l1mu_phi_, h_l1mu_pt_, h_l1tau_eta_, h_l1tau_num_, h_l1tau_phi_, h_l1tau_pt_, jetmet_cfg::histofile, i, cmsHarvester::index, metsig::jet, l1taccepts, l1taccepts_evt, l1tnames, geometryCSVtoXML::line, M_PI, MAX_ALGO_BITS, MaxCaloEta_, MaxEt_, LaserTracksInput_cfi::maxEvents, MaxJetPt_, MaxLepPt_, MaxMuonEta_, RPCpg::mu, mergeVDriftHistosByStation::name, NULL, AlCaHLTBitMon_ParallelJobs::options, convertSQLitetoXML_cfg::output, parseAlgo(), parseEGs(), parseEtSums(), parseJets(), parseMuons(), parseTaus(), PhiStepCalo_, PhiStepMuon_, PtStep_, insertMaterial::readXML(), DTTTrigCorrFirst::run, AlCaHLTBitMon_QueryRunRegistry::string, and metsig::tau.

100  {
101  using namespace boost;
102  namespace po = boost::program_options;
103 
104  std::string vector_file;
105  std::string xml_file;
106  std::string histo_file;
107  bool dumpEvents;
108  int maxEvents;
109 
110  po::options_description desc("Main options");
111  desc.add_options()
112  ("vector_file,i", po::value<std::string>(&vector_file)->default_value(""), "Input file")
113  ("menu_file,m", po::value<std::string>(&xml_file)->default_value(""), "Menu file")
114  ("hist_file,o", po::value<std::string>(&histo_file)->default_value(""), "Output histogram file")
115  ("dumpEvents,d", po::value<bool>(&dumpEvents)->default_value(false), "Dump event-by-event information")
116  ("maxEvents,n", po::value<int>(&maxEvents)->default_value(-1), "Number of events (default is all)")
117  ("help,h", "Produce help message")
118  ;
119 
120  po::variables_map vm, vm0;
121 
122  // parse the first time, using only common options and allow unregistered options
123  try{
124  po::store(po::command_line_parser(argc, argv).options(desc).allow_unregistered().run(), vm0);
125  po::notify(vm0);
126  } catch(std::exception &ex) {
127  std::cout << "Invalid options: " << ex.what() << std::endl;
128  std::cout << "Use readTestVector --help to get a list of all the allowed options" << std::endl;
129  return 999;
130  } catch(...) {
131  std::cout << "Unidentified error parsing options." << std::endl;
132  return 1000;
133  }
134 
135  // if help, print help
136  if(vm0.count("help")) {
137  std::cout << "Usage: readTestVector [options]\n";
138  std::cout << desc;
139  return 0;
140  }
141 
142  if( vector_file=="" ){
143  std::cout << "No input file specified" << std::endl;
144  return 99;
145  }
146 
147  bool readXML = true;
148  if( xml_file=="" ){
149  readXML = false;
150  std::cout << "No menu file specified" << std::endl;
151  }
152 
153  bool output = true;
154  if( histo_file=="" ){
155  output = false;
156  }
157 
158  TFile* histofile = NULL;
159  if( output ){
160  histofile = new TFile(histo_file.c_str(),"RECREATE");
161  histofile->cd();
162  }
163 
164  l1taccepts.resize(MAX_ALGO_BITS);
166  for( unsigned int i=0; i<l1taccepts.size(); i++ ) l1taccepts[i] = 0;
167 
168  if( readXML ){
169  // Load XML.
170  std::auto_ptr<l1t::L1TriggerMenu> tm(l1t::l1TriggerMenu(xml_file));
171 
172  l1tnames.resize(MAX_ALGO_BITS);
173  l1t::AlgorithmList algorithms = tm->algorithms();
174  for( l1t::AlgorithmList::algorithm_const_iterator i = algorithms.algorithm().begin();
175  i != algorithms.algorithm().end(); ++i ){
176 
177  l1t::Algorithm algorithm = (*i);
178 
179  int index = algorithm.index();
180  std::string name = algorithm.name();
181 
182  l1tnames[index] = name;
183  }
184  }
185 
187  h_l1mu_pt_ = new TH1D("h_l1mu_pt", ";L1 #mu p_{T}", int((MaxLepPt_+PtStep_)/(PtStep_) + 1.001), 0, MaxLepPt_+PtStep_ );
188  h_l1mu_eta_ = new TH1D("h_l1mu_eta",";L1 #mu #eta", int(EtaStepMuon_/2+0.0001), -MaxMuonEta_, MaxMuonEta_ );
189  h_l1mu_phi_ = new TH1D("h_l1mu_phi",";L1 #mu #phi", PhiStepMuon_+1, 0, 2*M_PI );
190  h_l1mu_num_ = new TH1D("h_l1mu_num",";L1 Number of #mu", 10, 0, 10 );
191 
192  h_l1jet_pt_ = new TH1D("h_l1jet_pt", ";L1 jet p_{T}", int((MaxJetPt_+PtStep_)/(4*PtStep_) + 1.001), 0, MaxJetPt_+PtStep_ );
193  h_l1jet_eta_ = new TH1D("h_l1jet_eta",";L1 jet #eta", int(EtaStepCalo_/2+0.0001), -MaxCaloEta_, MaxCaloEta_ );
194  h_l1jet_phi_ = new TH1D("h_l1jet_phi",";L1 jet #phi", PhiStepCalo_+1, 0, 2*M_PI );
195  h_l1jet_num_ = new TH1D("h_l1jet_num",";L1 Number of jets", 13, 0, 13 );
196 
197  h_l1eg_pt_ = new TH1D("h_l1eg_pt", ";L1 EG p_{T}", int((MaxLepPt_+PtStep_)/(PtStep_) + 1.001), 0, MaxLepPt_+PtStep_ );
198  h_l1eg_eta_ = new TH1D("h_l1eg_eta",";L1 EG #eta", int(EtaStepCalo_/2+0.0001), -MaxCaloEta_, MaxCaloEta_ );
199  h_l1eg_phi_ = new TH1D("h_l1eg_phi",";L1 EG #phi", PhiStepCalo_+1, 0, 2*M_PI );
200  h_l1eg_num_ = new TH1D("h_l1eg_num",";L1 Number of EGs", 13, 0, 13 );
201 
202  h_l1tau_pt_ = new TH1D("h_l1tau_pt", ";L1 #tau p_{T}", int((MaxLepPt_+PtStep_)/(PtStep_) + 1.001), 0, MaxLepPt_+PtStep_ );
203  h_l1tau_eta_ = new TH1D("h_l1tau_eta",";L1 #tau #eta", int(EtaStepCalo_/2+0.0001), -MaxCaloEta_, MaxCaloEta_ );
204  h_l1tau_phi_ = new TH1D("h_l1tau_phi",";L1 #tau #phi", PhiStepCalo_+1, 0, 2*M_PI );
205  h_l1tau_num_ = new TH1D("h_l1tau_num",";L1 Number of #tau", 13, 0, 13 );
206 
207  h_l1ht_ = new TH1D("h_l1ht_", ";L1 #SigmaH_{T}", int((MaxEt_+PtStep_)/(16*PtStep_) + 1.001), 0, MaxEt_+PtStep_ );
208  h_l1et_ = new TH1D("h_l1et_", ";L1 #SigmaE_{T}", int((MaxEt_+PtStep_)/(16*PtStep_) + 1.001), 0, MaxEt_+PtStep_ );
209  h_l1htm_et_ = new TH1D("h_l1htm_et_", ";L1 Missing H_{T}", int((MaxEt_+PtStep_)/(16*PtStep_) + 1.001), 0, MaxEt_+PtStep_ );
210  h_l1etm_et_ = new TH1D("h_l1etm_et_", ";L1 Missing E_{T}", int((MaxEt_+PtStep_)/(16*PtStep_) + 1.001), 0, MaxEt_+PtStep_ );
211  h_l1htm_phi_ = new TH1D("h_l1htm_phi_", ";L1 Missing H_{T} #phi", PhiStepCalo_+1, 0, 2*M_PI );
212  h_l1etm_phi_ = new TH1D("h_l1etm_phi_", ";L1 Missing E_{T} #phi", PhiStepCalo_+1, 0, 2*M_PI );
213 
214 
215  std::ifstream file(vector_file);
217 
218  std::vector<std::string> mu;
219  std::vector<std::string> eg;
220  std::vector<std::string> tau;
221  std::vector<std::string> jet;
222  std::vector<std::string> etsum;
223  mu.resize(8);
224  eg.resize(12);
225  tau.resize(8);
226  jet.resize(12);
227  etsum.resize(4);
228 
229  std::string bx, ex, alg, fin;
230 
231  int evt=0;
232  int l1a=0;
233 
234  if( dumpEvents ) printf(" ==== Objects ===\n");
235 
236  while(std::getline(file, line)){
237  evt++;
238  std::stringstream linestream(line);
239  linestream >> bx
240  >> mu[0] >> mu[1] >> mu[2] >> mu[3] >> mu[4] >> mu[5] >> mu[6] >> mu[7]
241  >> eg[0] >> eg[1] >> eg[2] >> eg[3] >> eg[4] >> eg[5] >> eg[6] >> eg[7] >> eg[8] >> eg[9] >> eg[10] >> eg[11]
242  >> tau[0] >> tau[1] >> tau[2] >> tau[3] >> tau[4] >> tau[5] >> tau[6] >> tau[7]
243  >> jet[0] >> jet[1] >> jet[2] >> jet[3] >> jet[4] >> jet[5] >> jet[6] >> jet[7] >> jet[8] >> jet[9] >> jet[10] >> jet[11]
244  >> etsum[0] >> etsum[1] >> etsum[2] >> etsum[3]
245  >> ex >> alg >> fin;
246 
247  if( dumpEvents ) printf(" <==== BX = %s ====>\n",bx.c_str());
248  parseMuons(mu, dumpEvents);
249  parseEGs(eg, dumpEvents);
250  parseTaus(tau, dumpEvents);
251  parseJets(jet, dumpEvents);
252  parseEtSums(etsum, dumpEvents);
253 
254  parseAlgo(alg);
255 
256  int finOR = atoi( fin.c_str() );
257  l1a += finOR;
258 
259  if( dumpEvents ){
260  printf(" == Algos ==\n");
261  if( finOR ){
262  printf(" Triggers with nono-zero accepts\n");
263  if( readXML && l1tnames.size()>0 ) printf("\t bit\t L1A\t Name\n");
264  else printf("\t bit\t L1A\n");
265 
266  for( int i=0; i<MAX_ALGO_BITS; i++ ){
267  if( l1taccepts_evt[i]>0 ){
268  if( readXML && l1tnames.size()>0 ) printf("\t %d \t %d \t %s\n", i, l1taccepts_evt[i], l1tnames[i].c_str());
269  else printf("\t %d \t %d\n", i, l1taccepts_evt[i] );
270  }
271  }
272  }
273  else{
274  printf("\n No triggers passed\n");
275  }
276  // extra spacing between bx
277  printf("\n\n");
278  }
279 
280  if( evt==maxEvents ) break;
281  }
282 
283  printf(" =========== Summary of results ==========\n");
284  printf(" There were %d L1A out of %d events (%.1f%%)\n", l1a, evt, float(l1a)/float(evt)*100);
285  printf("\n Triggers with nono-zero accepts\n");
286  if( readXML && l1tnames.size()>0 ) printf("\t bit\t L1A\t Name\n");
287  else printf("\t bit\t L1A\n");
288 
289  for( int i=0; i<MAX_ALGO_BITS; i++ ){
290  if( l1taccepts[i]>0 ){
291  if( readXML && l1tnames.size()>0 ) printf("\t %d \t %d \t %s\n", i, l1taccepts[i], l1tnames[i].c_str());
292  else printf("\t %d \t %d\n", i, l1taccepts[i] );
293  }
294  }
295 
296 
297  if( output ){
298  histofile->Write();
299  histofile->Close();
300  }
301 
302 
303  return 0;
304 }
double MaxEt_
int i
Definition: DBlmapReader.cc:9
< trclass="colgroup">< tdclass="colgroup"colspan=5 > Ecal cluster collections</td ></tr >< tr >< td >< ahref="classreco_1_1BasicCluster.html"> reco::BasicCluster</a ></td >< td >< ahref="DataFormats_EgammaReco.html"> reco::BasicClusterCollection</a ></td >< td >< ahref="#"> hybridSuperClusters</a ></td >< tdclass="description"> Basic clusters reconstructed with hybrid algorithm(barrel only)</td >< td >S.Rahatlou</td ></tr >< tr >< td >< a href
TH1D * h_l1et_
void parseEGs(std::vector< std::string > egs, bool verbose)
TH1D * h_l1eg_eta_
void parseEtSums(std::vector< std::string > etsums, bool verbose)
TH1D * h_l1mu_num_
void parseMuons(std::vector< std::string > muons, bool verbose)
#define NULL
Definition: scimark2.h:8
std::vector< int > l1taccepts
TH1D * h_l1eg_num_
TH1D * h_l1etm_et_
void parseTaus(std::vector< std::string > taus, bool verbose)
double MaxMuonEta_
TH1D * h_l1mu_pt_
TH1D * h_l1tau_num_
TH1D * h_l1eg_pt_
double MaxJetPt_
double PhiStepCalo_
double EtaStepMuon_
TH1D * h_l1etm_phi_
string histofile
Definition: jetmet_cfg.py:4
TH1D * h_l1ht_
TH1D * h_l1jet_phi_
void parseJets(std::vector< std::string > jets, bool verbose)
void parseAlgo(std::string algo)
double PtStep_
double MaxCaloEta_
double PhiStepMuon_
const int mu
Definition: Constants.h:22
TH1D * h_l1tau_eta_
#define M_PI
const int MAX_ALGO_BITS
TH1D * h_l1eg_phi_
TH1D * h_l1jet_pt_
std::vector< int > l1taccepts_evt
TH1D * h_l1tau_pt_
double MaxLepPt_
TH1D * h_l1htm_phi_
tuple argc
Definition: dir2webdir.py:38
TH1D * h_l1jet_eta_
tuple cout
Definition: gather_cfg.py:121
TH1D * h_l1tau_phi_
TH1D * h_l1mu_eta_
TH1D * h_l1jet_num_
TH1D * h_l1htm_et_
TH1D * h_l1mu_phi_
std::vector< std::string > l1tnames
double EtaStepCalo_
void parseAlgo ( std::string  algo)

Definition at line 450 of file readTestVector.cc.

References accept(), i, recoMuon::in, l1taccepts, l1taccepts_evt, MAX_ALGO_BITS, alignCSCRings::s, contentValuesCheck::ss, AlCaHLTBitMon_QueryRunRegistry::string, and zeroes128.

Referenced by main().

450  {
451 
452  // clear the algo per event
453  l1taccepts_evt.clear();
455 
456  // Return if no triggers fired
457  if( algo==zeroes128 ) return;
458 
459  std::stringstream ss;
460  std::string s;
461  int pos, algRes, accept;
462 
463  for( int i=0; i<MAX_ALGO_BITS; i++ ){
464  pos = 127 - int( i/4 );
465  std::string in(1,algo[pos]);
466  char* endPtr = (char*) in.c_str();
467  algRes = strtol( in.c_str(), &endPtr, 16 );
468  accept = ( algRes >> (i%4) ) & 1;
469  l1taccepts_evt[i] += accept;
470  l1taccepts[i] += accept;
471  }
472 
473  return;
474 
475 }
int i
Definition: DBlmapReader.cc:9
std::string zeroes128
std::vector< int > l1taccepts
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:26
const int MAX_ALGO_BITS
std::vector< int > l1taccepts_evt
void parseEGs ( std::vector< std::string >  egs,
bool  verbose 
)

Definition at line 332 of file readTestVector.cc.

References convertEtaFromHW(), convertPhiFromHW(), convertPtFromHW(), eta(), EtaStepCalo_, h_l1eg_eta_, h_l1eg_num_, h_l1eg_phi_, h_l1eg_pt_, l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), i, MaxCaloEta_, MaxLepPt_, phi, PhiStepCalo_, RecoTauCleanerPlugins::pt, PtStep_, AlCaHLTBitMon_QueryRunRegistry::string, unpackEGs(), and zeroes8.

Referenced by main().

332  {
333 
334  if( verbose) printf(" == EGammas ==\n");
335  int neg=0;
336  for( unsigned int i=0; i<egs.size(); i++ ){
337  std::string ieg = egs[i];
338  if( ieg==zeroes8 ) continue;
339  neg++;
340  l1t::EGamma eg = unpackEGs( ieg );
341 
342  double pt = convertPtFromHW( eg.hwPt(), MaxLepPt_, PtStep_ );
343  double eta = convertEtaFromHW( eg.hwEta(), MaxCaloEta_, EtaStepCalo_, 0xff );
344  double phi = convertPhiFromHW( eg.hwPhi(), PhiStepCalo_ );
345 
346  h_l1eg_pt_->Fill( pt );
347  h_l1eg_eta_->Fill( eta );
348  h_l1eg_phi_->Fill( phi );
349 
350  if( verbose) printf(" l1t::EGamma %d:\t pt = %d (%.1f),\t eta = %d (%+.2f),\t phi = %d (%.2f)\n", i, eg.hwPt(), pt, eg.hwEta(), eta, eg.hwPhi(), phi);
351  }
352  h_l1eg_num_->Fill(neg);
353 
354  return;
355 }
int i
Definition: DBlmapReader.cc:9
TH1D * h_l1eg_eta_
int hwPhi() const
Definition: L1Candidate.cc:79
TH1D * h_l1eg_num_
T eta() const
TH1D * h_l1eg_pt_
double PhiStepCalo_
double convertPhiFromHW(int hwPhi, double step)
double convertPtFromHW(int hwPt, double max, double step)
double PtStep_
double MaxCaloEta_
int hwEta() const
Definition: L1Candidate.cc:74
TH1D * h_l1eg_phi_
double MaxLepPt_
int hwPt() const
Definition: L1Candidate.cc:69
double convertEtaFromHW(int hwEta, double max, double step, int hwMax)
std::string zeroes8
l1t::EGamma unpackEGs(std::string ieg)
Definition: DDAxes.h:10
double EtaStepCalo_
void parseEtSums ( std::vector< std::string >  etsums,
bool  verbose 
)

Definition at line 404 of file readTestVector.cc.

References convertPhiFromHW(), convertPtFromHW(), h_l1et_, h_l1etm_et_, h_l1etm_phi_, h_l1ht_, h_l1htm_et_, h_l1htm_phi_, l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), MaxEt_, phi, PhiStepCalo_, RecoTauCleanerPlugins::pt, PtStep_, AlCaHLTBitMon_QueryRunRegistry::string, unpackEtSums(), and zeroes8.

Referenced by main().

404  {
405 
406  if( verbose) printf(" == EtSums ==\n");
407 
408  //et sum
409  std::string iet = etsum[0];
410  if( iet!=zeroes8 ){
411  l1t::EtSum et = unpackEtSums( iet, l1t::EtSum::EtSumType::kTotalEt );
412  double pt = convertPtFromHW( et.hwPt(), MaxEt_, PtStep_ );
413  h_l1et_->Fill( pt );
414  if( verbose) printf(" l1t::EtSum TotalEt:\t Et = %d\n", et.hwPt());
415  }
416  //ht sum
417  std::string iht = etsum[1];
418  if( iht!=zeroes8 ){
419  l1t::EtSum ht = unpackEtSums( iht, l1t::EtSum::EtSumType::kTotalHt );
420  double pt = convertPtFromHW( ht.hwPt(), MaxEt_, PtStep_ );
421  h_l1ht_->Fill( pt );
422  if( verbose) printf(" l1t::EtSum TotalHt:\t Ht = %d\n", ht.hwPt());
423  }
424  //etm
425  std::string ietm = etsum[2];
426  if( ietm!=zeroes8 ){
427  l1t::EtSum etm = unpackEtSums( ietm, l1t::EtSum::EtSumType::kMissingEt );
428  double pt = convertPtFromHW( etm.hwPt(), MaxEt_, PtStep_ );
429  double phi = convertPhiFromHW( etm.hwPhi(), PhiStepCalo_ );
430  h_l1etm_et_->Fill( pt );
431  h_l1etm_phi_->Fill( phi );
432  if( verbose) printf(" l1t::EtSum MissingEt:\t Et = %d,\t phi = %d\n", etm.hwPt(), etm.hwPhi());
433  }
434  //htm
435  std::string ihtm = etsum[3];
436  if( ihtm!=zeroes8 ){
437  l1t::EtSum htm = unpackEtSums( ihtm, l1t::EtSum::EtSumType::kMissingHt );
438  double pt = convertPtFromHW( htm.hwPt(), MaxEt_, PtStep_ );
439  double phi = convertPhiFromHW( htm.hwPhi(), PhiStepCalo_ );
440  h_l1htm_et_->Fill( pt );
441  h_l1htm_phi_->Fill( phi );
442  if( verbose) printf(" l1t::EtSum MissingHt:\t Et = %d,\t phi = %d\n", htm.hwPt(), htm.hwPhi());
443  }
444 
445  return;
446 }
double MaxEt_
TH1D * h_l1et_
int hwPhi() const
Definition: L1Candidate.cc:79
TH1D * h_l1etm_et_
double PhiStepCalo_
TH1D * h_l1etm_phi_
l1t::EtSum unpackEtSums(std::string ietsum, l1t::EtSum::EtSumType type)
TH1D * h_l1ht_
double convertPhiFromHW(int hwPhi, double step)
double convertPtFromHW(int hwPt, double max, double step)
double PtStep_
int hwPt() const
Definition: L1Candidate.cc:69
TH1D * h_l1htm_phi_
std::string zeroes8
TH1D * h_l1htm_et_
Definition: DDAxes.h:10
void parseJets ( std::vector< std::string >  jets,
bool  verbose 
)

Definition at line 380 of file readTestVector.cc.

References convertEtaFromHW(), convertPhiFromHW(), convertPtFromHW(), eta(), EtaStepCalo_, h_l1jet_eta_, h_l1jet_num_, h_l1jet_phi_, h_l1jet_pt_, l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), i, metsig::jet, MaxCaloEta_, MaxJetPt_, njet, phi, PhiStepCalo_, RecoTauCleanerPlugins::pt, PtStep_, AlCaHLTBitMon_QueryRunRegistry::string, unpackJets(), and zeroes8.

Referenced by main().

380  {
381 
382  if( verbose) printf(" == Jets ==\n");
383  int njet=0;
384  for( unsigned int i=0; i<jets.size(); i++ ){
385  std::string ijet = jets[i];
386  if( ijet==zeroes8 ) continue;
387  njet++;
388  l1t::Jet jet = unpackJets( ijet );
389 
390  double pt = convertPtFromHW( jet.hwPt(), MaxJetPt_, PtStep_ );
391  double eta = convertEtaFromHW( jet.hwEta(), MaxCaloEta_, EtaStepCalo_, 0xff );
392  double phi = convertPhiFromHW( jet.hwPhi(), PhiStepCalo_ );
393 
394  h_l1jet_pt_->Fill( pt );
395  h_l1jet_eta_->Fill( eta );
396  h_l1jet_phi_->Fill( phi );
397 
398  if( verbose) printf(" l1t::Jet %d:\t pt = %d (%.1f),\t eta = %d (%+.2f),\t phi = %d (%.2f)\n", i, jet.hwPt(), pt, jet.hwEta(), eta, jet.hwPhi(), phi);
399  }
400  h_l1jet_num_->Fill(njet);
401 
402  return;
403 }
int i
Definition: DBlmapReader.cc:9
int hwPhi() const
Definition: L1Candidate.cc:79
T eta() const
int njet
Definition: HydjetWrapper.h:90
Definition: Jet.h:13
double MaxJetPt_
double PhiStepCalo_
TH1D * h_l1jet_phi_
vector< PseudoJet > jets
double convertPhiFromHW(int hwPhi, double step)
double convertPtFromHW(int hwPt, double max, double step)
double PtStep_
double MaxCaloEta_
int hwEta() const
Definition: L1Candidate.cc:74
TH1D * h_l1jet_pt_
int hwPt() const
Definition: L1Candidate.cc:69
TH1D * h_l1jet_eta_
double convertEtaFromHW(int hwEta, double max, double step, int hwMax)
std::string zeroes8
l1t::Jet unpackJets(std::string ijet)
TH1D * h_l1jet_num_
Definition: DDAxes.h:10
double EtaStepCalo_
void parseMuons ( std::vector< std::string >  muons,
bool  verbose 
)

Definition at line 308 of file readTestVector.cc.

References convertEtaFromHW(), convertPhiFromHW(), convertPtFromHW(), eta(), EtaStepMuon_, h_l1mu_eta_, h_l1mu_num_, h_l1mu_phi_, h_l1mu_pt_, l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), i, MaxLepPt_, MaxMuonEta_, RPCpg::mu, phi, PhiStepMuon_, RecoTauCleanerPlugins::pt, PtStep_, AlCaHLTBitMon_QueryRunRegistry::string, unpackMuons(), and zeroes16.

Referenced by main().

308  {
309 
310  if( verbose) printf(" == Muons ==\n");
311  int nmu=0;
312  for( unsigned int i=0; i<muons.size(); i++ ){
313  std::string imu = muons[i];
314  if( imu==zeroes16 ) continue;
315  nmu++;
316  l1t::Muon mu = unpackMuons( imu );
317 
318  double pt = convertPtFromHW( mu.hwPt(), MaxLepPt_, PtStep_ );
319  double eta = convertEtaFromHW( mu.hwEta(), MaxMuonEta_, EtaStepMuon_, 0x1ff );
320  double phi = convertPhiFromHW( mu.hwPhi(), PhiStepMuon_ );
321 
322  h_l1mu_pt_->Fill( pt );
323  h_l1mu_eta_->Fill( eta );
324  h_l1mu_phi_->Fill( phi );
325 
326  if( verbose) printf(" l1t::Muon %d:\t pt = %d (%.1f),\t eta = %d (%+.2f),\t phi = %d (%.2f)\n", i, mu.hwPt(), pt, mu.hwEta(), eta, mu.hwPhi(), phi);
327  }
328  h_l1mu_num_->Fill(nmu);
329 
330  return;
331 }
int i
Definition: DBlmapReader.cc:9
TH1D * h_l1mu_num_
int hwPhi() const
Definition: L1Candidate.cc:79
T eta() const
double MaxMuonEta_
TH1D * h_l1mu_pt_
l1t::Muon unpackMuons(std::string imu)
double EtaStepMuon_
std::string zeroes16
double convertPhiFromHW(int hwPhi, double step)
double convertPtFromHW(int hwPt, double max, double step)
double PtStep_
double PhiStepMuon_
const int mu
Definition: Constants.h:22
int hwEta() const
Definition: L1Candidate.cc:74
Definition: Muon.h:12
double MaxLepPt_
int hwPt() const
Definition: L1Candidate.cc:69
tuple muons
Definition: patZpeak.py:38
double convertEtaFromHW(int hwEta, double max, double step, int hwMax)
TH1D * h_l1mu_eta_
TH1D * h_l1mu_phi_
Definition: DDAxes.h:10
void parseTaus ( std::vector< std::string >  taus,
bool  verbose 
)

Definition at line 356 of file readTestVector.cc.

References convertEtaFromHW(), convertPhiFromHW(), convertPtFromHW(), eta(), EtaStepCalo_, h_l1tau_eta_, h_l1tau_num_, h_l1tau_phi_, h_l1tau_pt_, l1t::L1Candidate::hwEta(), l1t::L1Candidate::hwPhi(), l1t::L1Candidate::hwPt(), i, MaxCaloEta_, MaxLepPt_, phi, PhiStepCalo_, RecoTauCleanerPlugins::pt, PtStep_, AlCaHLTBitMon_QueryRunRegistry::string, metsig::tau, unpackTaus(), and zeroes8.

Referenced by main().

356  {
357 
358  if( verbose) printf(" == Taus ==\n");
359  int ntau=0;
360  for( unsigned int i=0; i<taus.size(); i++ ){
361  std::string itau = taus[i];
362  if( itau==zeroes8 ) continue;
363  ntau++;
364  l1t::Tau tau = unpackTaus( itau );
365 
366  double pt = convertPtFromHW( tau.hwPt(), MaxLepPt_, PtStep_ );
367  double eta = convertEtaFromHW( tau.hwEta(), MaxCaloEta_, EtaStepCalo_, 0xff );
368  double phi = convertPhiFromHW( tau.hwPhi(), PhiStepCalo_ );
369 
370  h_l1tau_pt_->Fill( pt );
371  h_l1tau_eta_->Fill( eta );
372  h_l1tau_phi_->Fill( phi );
373 
374  if( verbose) printf(" l1t::Tau %d:\t pt = %d (%.1f),\t eta = %d (%+.2f),\t phi = %d (%.2f)\n", i, tau.hwPt(), pt, tau.hwEta(), eta, tau.hwPhi(), phi);
375  }
376  h_l1tau_num_->Fill(ntau);
377 
378  return;
379 }
int i
Definition: DBlmapReader.cc:9
Definition: Tau.h:13
int hwPhi() const
Definition: L1Candidate.cc:79
T eta() const
TH1D * h_l1tau_num_
double PhiStepCalo_
double convertPhiFromHW(int hwPhi, double step)
double convertPtFromHW(int hwPt, double max, double step)
double PtStep_
double MaxCaloEta_
int hwEta() const
Definition: L1Candidate.cc:74
TH1D * h_l1tau_eta_
TH1D * h_l1tau_pt_
double MaxLepPt_
int hwPt() const
Definition: L1Candidate.cc:69
double convertEtaFromHW(int hwEta, double max, double step, int hwMax)
std::string zeroes8
TH1D * h_l1tau_phi_
l1t::Tau unpackTaus(std::string itau)
Definition: DDAxes.h:10
double EtaStepCalo_
l1t::EGamma unpackEGs ( std::string  ieg)

Definition at line 499 of file readTestVector.cc.

References eta(), p4, phi, and RecoTauCleanerPlugins::pt.

Referenced by parseEGs().

499  {
500 
501  char* endPtr = (char*) ieg.c_str();
502  unsigned int packedVal = strtol( ieg.c_str(), &endPtr, 16 );
503 
504  int pt = (packedVal>>0) & 0x1ff;
505  int eta = (packedVal>>9) & 0xff;
506  int phi = (packedVal>>17) & 0xff;
507  int iso = (packedVal>>25) & 0x1;
508  int qual= (packedVal>>26) & 0x1;
509 
510  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > *p4 = new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >();
511  l1t::EGamma eg(*p4, pt, eta, phi, qual, iso);
512 
513  return eg;
514 }
T eta() const
double p4[4]
Definition: TauolaWrapper.h:92
Definition: DDAxes.h:10
l1t::EtSum unpackEtSums ( std::string  ietsum,
l1t::EtSum::EtSumType  type 
)

Definition at line 548 of file readTestVector.cc.

References p4, phi, and RecoTauCleanerPlugins::pt.

Referenced by parseEtSums().

548  {
549 
550  char* endPtr = (char*) ietsum.c_str();
551  unsigned int packedVal = strtol( ietsum.c_str(), &endPtr, 16 );
552 
553  int pt = (packedVal>>0) & 0xfff;
554  int phi = 0;
555  if( type==l1t::EtSum::EtSumType::kMissingEt ||
556  type==l1t::EtSum::EtSumType::kMissingHt ) phi = (packedVal>>12) & 0xff;
557 
558  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > *p4 = new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >();
559  l1t::EtSum sum(*p4, type, pt, 0,phi, 0);
560 
561  return sum;
562 }
type
Definition: HCALResponse.h:21
double p4[4]
Definition: TauolaWrapper.h:92
Definition: DDAxes.h:10
l1t::Jet unpackJets ( std::string  ijet)

Definition at line 532 of file readTestVector.cc.

References eta(), metsig::jet, p4, phi, and RecoTauCleanerPlugins::pt.

Referenced by parseJets().

532  {
533 
534  char* endPtr = (char*) ijet.c_str();
535  unsigned int packedVal = strtol( ijet.c_str(), &endPtr, 16 );
536 
537  int pt = (packedVal>>0) & 0x7ff;
538  int eta = (packedVal>>11) & 0xff;
539  int phi = (packedVal>>19) & 0xff;
540  int qual= (packedVal>>27) & 0x1;
541 
542  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > *p4 = new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >();
543  l1t::Jet jet(*p4, pt, eta, phi, qual);
544 
545  return jet;
546 }
T eta() const
Definition: Jet.h:13
double p4[4]
Definition: TauolaWrapper.h:92
Definition: DDAxes.h:10
l1t::Muon unpackMuons ( std::string  imu)

Definition at line 478 of file readTestVector.cc.

References DeDxDiscriminatorTools::charge(), eta(), RPCpg::mu, p4, phi, RecoTauCleanerPlugins::pt, and GlobalPosition_Frontier_DevDB_cff::tag.

Referenced by parseMuons().

478  {
479 
480  char* endPtr = (char*) imu.c_str();
481  cms_uint64_t packedVal = strtoull( imu.c_str(), &endPtr, 16 );
482 
483  int pt = (packedVal>>10) & 0x1ff;
484  int eta = (packedVal>>23) & 0x1ff;
485  int phi = (packedVal>>0) & 0x3ff;
486  int iso = (packedVal>>32) & 0x1;
487  int qual= (packedVal>>19) & 0x1;
488  int charge = (packedVal>>34) & 0x1;
489  int chargeValid = (packedVal>>35) & 0x1;
490  int mip = 1;
491  int tag = 1;
492 
493  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > *p4 = new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >();
494  l1t::Muon mu(*p4, pt, eta, phi, qual, charge, chargeValid, iso, mip, tag);
495 
496  return mu;
497 
498 }
T eta() const
double charge(const std::vector< uint8_t > &Ampls)
double p4[4]
Definition: TauolaWrapper.h:92
const int mu
Definition: Constants.h:22
Definition: Muon.h:12
unsigned long long cms_uint64_t
Definition: typedefs.h:17
Definition: DDAxes.h:10
l1t::Tau unpackTaus ( std::string  itau)

Definition at line 515 of file readTestVector.cc.

References eta(), p4, phi, RecoTauCleanerPlugins::pt, and metsig::tau.

Referenced by parseTaus().

515  {
516 
517  char* endPtr = (char*) itau.c_str();
518  unsigned int packedVal = strtol( itau.c_str(), &endPtr, 16 );
519 
520  int pt = (packedVal>>0) & 0x1ff;
521  int eta = (packedVal>>9) & 0xff;
522  int phi = (packedVal>>17) & 0xff;
523  int iso = (packedVal>>25) & 0x1;
524  int qual= (packedVal>>26) & 0x1;
525 
526  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > *p4 = new ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >();
527  l1t::Tau tau(*p4, pt, eta, phi, qual, iso);
528 
529  return tau;
530 }
Definition: Tau.h:13
T eta() const
double p4[4]
Definition: TauolaWrapper.h:92
Definition: DDAxes.h:10

Variable Documentation

double EtaStepCalo_ = 230
double EtaStepMuon_ = 450

Definition at line 94 of file readTestVector.cc.

Referenced by main(), parseMuons(), and l1t::GenToInputProducer::produce().

TH1D* h_l1eg_eta_

Definition at line 66 of file readTestVector.cc.

Referenced by main(), and parseEGs().

TH1D* h_l1eg_num_

Definition at line 68 of file readTestVector.cc.

Referenced by main(), and parseEGs().

TH1D* h_l1eg_phi_

Definition at line 67 of file readTestVector.cc.

Referenced by main(), and parseEGs().

TH1D* h_l1eg_pt_

Definition at line 65 of file readTestVector.cc.

Referenced by main(), and parseEGs().

TH1D* h_l1et_

Definition at line 76 of file readTestVector.cc.

Referenced by main(), and parseEtSums().

TH1D* h_l1etm_et_

Definition at line 78 of file readTestVector.cc.

Referenced by main(), and parseEtSums().

TH1D* h_l1etm_phi_

Definition at line 80 of file readTestVector.cc.

Referenced by main(), and parseEtSums().

TH1D* h_l1ht_

Definition at line 75 of file readTestVector.cc.

Referenced by main(), and parseEtSums().

TH1D* h_l1htm_et_

Definition at line 77 of file readTestVector.cc.

Referenced by main(), and parseEtSums().

TH1D* h_l1htm_phi_

Definition at line 79 of file readTestVector.cc.

Referenced by main(), and parseEtSums().

TH1D* h_l1jet_eta_

Definition at line 61 of file readTestVector.cc.

Referenced by main(), and parseJets().

TH1D* h_l1jet_num_

Definition at line 63 of file readTestVector.cc.

Referenced by main(), and parseJets().

TH1D* h_l1jet_phi_

Definition at line 62 of file readTestVector.cc.

Referenced by main(), and parseJets().

TH1D* h_l1jet_pt_

Definition at line 60 of file readTestVector.cc.

Referenced by main(), and parseJets().

TH1D* h_l1mu_eta_

Definition at line 56 of file readTestVector.cc.

Referenced by main(), and parseMuons().

TH1D* h_l1mu_num_

Definition at line 58 of file readTestVector.cc.

Referenced by main(), and parseMuons().

TH1D* h_l1mu_phi_

Definition at line 57 of file readTestVector.cc.

Referenced by main(), and parseMuons().

TH1D* h_l1mu_pt_

Definition at line 55 of file readTestVector.cc.

Referenced by main(), and parseMuons().

TH1D* h_l1tau_eta_

Definition at line 71 of file readTestVector.cc.

Referenced by main(), and parseTaus().

TH1D* h_l1tau_num_

Definition at line 73 of file readTestVector.cc.

Referenced by main(), and parseTaus().

TH1D* h_l1tau_phi_

Definition at line 72 of file readTestVector.cc.

Referenced by main(), and parseTaus().

TH1D* h_l1tau_pt_

Definition at line 70 of file readTestVector.cc.

Referenced by main(), and parseTaus().

std::vector<int> l1taccepts

Definition at line 32 of file readTestVector.cc.

Referenced by main(), and parseAlgo().

std::vector<int> l1taccepts_evt

Definition at line 34 of file readTestVector.cc.

Referenced by main(), and parseAlgo().

std::vector<std::string> l1tnames

Definition at line 33 of file readTestVector.cc.

Referenced by main().

const int MAX_ALGO_BITS = 512

Definition at line 22 of file readTestVector.cc.

Referenced by main(), and parseAlgo().

double MaxCaloEta_ = 5.0
double MaxEt_ = 2047

Definition at line 85 of file readTestVector.cc.

Referenced by main(), parseEtSums(), and l1t::GenToInputProducer::produce().

double MaxJetPt_ = 1023

Definition at line 84 of file readTestVector.cc.

Referenced by main(), parseJets(), and l1t::GenToInputProducer::produce().

double MaxLepPt_ = 255
double MaxMuonEta_ = 2.45

Definition at line 88 of file readTestVector.cc.

Referenced by main(), parseMuons(), and l1t::GenToInputProducer::produce().

double PhiStepCalo_ = 144
double PhiStepMuon_ = 576

Definition at line 91 of file readTestVector.cc.

Referenced by main(), parseMuons(), and l1t::GenToInputProducer::produce().

double PtStep_ = 0.5
std::string zeroes128 = std::string(128,'0')

Definition at line 28 of file readTestVector.cc.

Referenced by parseAlgo().

std::string zeroes16 = std::string(16,'0')

Definition at line 29 of file readTestVector.cc.

Referenced by parseMuons().

std::string zeroes8 = std::string(8,'0')

Definition at line 30 of file readTestVector.cc.

Referenced by parseEGs(), parseEtSums(), parseJets(), and parseTaus().