Analyze the Data
Definition at line 75 of file HLTMCtruth.cc.
References _Gen, _Monte, funct::abs(), rpcdqm::BX, edmIntegrityCheck::d, reco::Candidate::daughter(), stringResolutionProvider_cfi::eta, reco::Candidate::eta(), i, edm::HandleBase::isValid(), j, mceta, mcphi, mcpid, mcpt, mcstatus, mcvx, mcvy, mcvz, nab, nbb, nel3, nmcpart, nmu3, npubx0, npuvertbx0, reco::Candidate::numberOfDaughters(), nwenu, nwmunu, nzee, nzmumu, AlCaHLTBitMon_ParallelJobs::p, BPhysicsValidation_cfi::pdgid, reco::Candidate::pdgId(), reco::Candidate::phi(), EnergyCorrector::pt, reco::Candidate::pt(), ptEleMax, pthatf, ptMuMax, alignCSCRings::r, tkConvValidator_cfi::simTracks, edm::View< T >::size(), mathSSE::sqrt(), reco::Candidate::status(), reco::Candidate::vx(), reco::Candidate::vy(), reco::Candidate::vz(), mps_merge::weight, weightf, weightsignf, x, y, and z.
Referenced by HLTBitAnalyzer::analyze().
108 std::vector<PileupSummaryInfo>::const_iterator PVI;
109 for(PVI = PupInfo->begin(); PVI != PupInfo->end(); ++PVI) {
111 int BX = PVI->getBunchCrossing();
112 npvtrue = PVI->getTrueNumInteractions();
113 npuvert = PVI->getPU_NumInteractions();
124 for (
unsigned int j=0;
j<simTracks->size();
j++) {
125 int pdgid = simTracks->at(
j).type();
126 if (
abs(pdgid)!=13)
continue;
127 double pt = simTracks->at(
j).momentum().pt();
128 if (pt<5.0)
continue;
129 double eta = simTracks->at(
j).momentum().eta();
130 if (
abs(eta)>2.5)
continue;
131 if (simTracks->at(
j).noVertex())
continue;
132 int vertIndex = simTracks->at(
j).vertIndex();
133 double x = simVertices->at(vertIndex).position().x();
134 double y = simVertices->at(vertIndex).position().y();
135 double r =
sqrt(x*x+y*y);
136 if (r>200.)
continue;
137 double z = simVertices->at(vertIndex).position().z();
138 if (
abs(z)>400.)
continue;
147 for (
size_t i = 0;
i < mctruth->
size(); ++
i) {
161 for (
size_t j=0;
j != idg; ++
j){
163 if ((d.
pdgId()==11)||(d.
pdgId()==-11)){wel += 1;}
164 if ((d.
pdgId()==13)||(d.
pdgId()==-13)){wmu += 1;}
169 if (
mcpid[nmc]==23) {
171 for (
size_t j=0;
j != idg; ++
j){
173 if (d.
pdgId()==11){zee += 1;}
174 if (d.
pdgId()==-11){zee += 2;}
175 if (d.
pdgId()==13){zmumu += 1;}
176 if (d.
pdgId()==-13){zmumu += 2;}
183 if (((
mcpid[nmc]==11)||(
mcpid[nmc]==-11))&&(
mcpt[nmc]>2.5)) {el3 += 1;}
185 if (
mcpid[nmc]==-5) {mab += 1;}
186 if (
mcpid[nmc]==5) {mbb += 1;}
206 if((zee%3)==0){
nzee = zee/3;}
208 if ((zmumu%3)==0){
nzmumu = zmumu/3;}
virtual double vx() const =0
x coordinate of vertex position
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual double vy() const =0
y coordinate of vertex position
virtual int status() const =0
status word
virtual int pdgId() const =0
PDG identifier.
Abs< T >::type abs(const T &t)
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
virtual double vz() const =0
z coordinate of vertex position
virtual size_type numberOfDaughters() const =0
number of daughters
virtual double phi() const =0
momentum azimuthal angle