CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
V0Validator Class Reference

#include <Validation/RecoVertex/src/V0Validator.cc>

Inheritance diagram for V0Validator:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 V0Validator (const edm::ParameterSet &)
 
 ~V0Validator ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

std::string dirName
 
MonitorElementfakeKsMass
 
MonitorElementfakeLamMass
 
int genK0s
 
int genLam
 
MonitorElementgoodKsMass
 
MonitorElementgoodLamMass
 
float K0sCandEta
 
int k0sCandFound
 
float K0sCandpT
 
float K0sCandR
 
unsigned int K0sCandStatus
 
float K0sGenEta
 
float K0sGenpT
 
float K0sGenR
 
unsigned int K0sGenStatus
 
unsigned int K0sPiCandStatus [2]
 
unsigned int K0sPiEff [2]
 
int k0sTracksFound
 
MonitorElementksAbsoluteDistResolution
 
MonitorElementksCandStatus
 
MonitorElementksEffVsEta
 
MonitorElementksEffVsEta_denom
 
MonitorElementksEffVsEta_num
 
MonitorElementksEffVsPt
 
MonitorElementksEffVsPt_denom
 
MonitorElementksEffVsPt_num
 
MonitorElementksEffVsR
 
MonitorElementksEffVsR_denom
 
MonitorElementksEffVsR_num
 
MonitorElementksFakeDauRadDist
 
MonitorElementksFakeVsEta
 
MonitorElementksFakeVsEta_denom
 
MonitorElementksFakeVsEta_num
 
MonitorElementksFakeVsPt
 
MonitorElementksFakeVsPt_denom
 
MonitorElementksFakeVsPt_num
 
MonitorElementksFakeVsR
 
MonitorElementksFakeVsR_denom
 
MonitorElementksFakeVsR_num
 
float KsGenX
 
float KsGenY
 
float KsGenZ
 
MonitorElementksMassAll
 
MonitorElementksTkEffVsEta
 
MonitorElementksTkEffVsEta_num
 
MonitorElementksTkEffVsPt
 
MonitorElementksTkEffVsPt_num
 
MonitorElementksTkEffVsR
 
MonitorElementksTkEffVsR_num
 
MonitorElementksTkFakeVsEta
 
MonitorElementksTkFakeVsEta_num
 
MonitorElementksTkFakeVsPt
 
MonitorElementksTkFakeVsPt_num
 
MonitorElementksTkFakeVsR
 
MonitorElementksTkFakeVsR_num
 
MonitorElementksXResolution
 
MonitorElementksYResolution
 
MonitorElementksZResolution
 
MonitorElementlamAbsoluteDistResolution
 
float LamCandEta
 
int lamCandFound
 
float LamCandpT
 
float LamCandR
 
unsigned int LamCandStatus
 
MonitorElementlamCandStatus
 
MonitorElementlamEffVsEta
 
MonitorElementlamEffVsEta_denom
 
MonitorElementlamEffVsEta_num
 
MonitorElementlamEffVsPt
 
MonitorElementlamEffVsPt_denom
 
MonitorElementlamEffVsPt_num
 
MonitorElementlamEffVsR
 
MonitorElementlamEffVsR_denom
 
MonitorElementlamEffVsR_num
 
MonitorElementlamFakeDauRadDist
 
MonitorElementlamFakeVsEta
 
MonitorElementlamFakeVsEta_denom
 
MonitorElementlamFakeVsEta_num
 
MonitorElementlamFakeVsPt
 
MonitorElementlamFakeVsPt_denom
 
MonitorElementlamFakeVsPt_num
 
MonitorElementlamFakeVsR
 
MonitorElementlamFakeVsR_denom
 
MonitorElementlamFakeVsR_num
 
float LamGenEta
 
float LamGenpT
 
float LamGenR
 
unsigned int LamGenStatus
 
float LamGenX
 
float LamGenY
 
float LamGenZ
 
MonitorElementlamMassAll
 
unsigned int LamPiCandStatus [2]
 
unsigned int LamPiEff [2]
 
MonitorElementlamTkEffVsEta
 
MonitorElementlamTkEffVsEta_num
 
MonitorElementlamTkEffVsPt
 
MonitorElementlamTkEffVsPt_num
 
MonitorElementlamTkEffVsR
 
MonitorElementlamTkEffVsR_num
 
MonitorElementlamTkFakeVsEta
 
MonitorElementlamTkFakeVsEta_num
 
MonitorElementlamTkFakeVsPt
 
MonitorElementlamTkFakeVsPt_num
 
MonitorElementlamTkFakeVsR
 
MonitorElementlamTkFakeVsR_num
 
int lamTracksFound
 
MonitorElementlamXResolution
 
MonitorElementlamYResolution
 
MonitorElementlamZResolution
 
MonitorElementnKs
 
MonitorElementnLam
 
int noTPforK0sCand
 
int noTPforLamCand
 
int realK0sFound
 
int realK0sFoundEff
 
int realLamFound
 
int realLamFoundEff
 
edm::EDGetTokenT
< reco::RecoToSimCollection
recoRecoToSimCollectionToken_
 
edm::EDGetTokenT
< reco::SimToRecoCollection
recoSimToRecoCollectionToken_
 
edm::EDGetTokenT
< reco::VertexCompositeCandidateCollection
recoVertexCompositeCandidateCollection_k0s_Token_
 
edm::EDGetTokenT
< reco::VertexCompositeCandidateCollection
recoVertexCompositeCandidateCollection_lambda_Token_
 
std::string theDQMRootFileName
 
edm::EDGetTokenT
< TrackingParticleCollection
trackingParticleCollection_Eff_Token_
 
edm::EDGetTokenT< std::vector
< reco::Vertex > > 
vec_recoVertex_Token_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: Creates validation histograms for RecoVertex/V0Producer

Implementation: <Notes on="" implementation>="">

Definition at line 81 of file V0Validator.h.

Constructor & Destructor Documentation

V0Validator::V0Validator ( const edm::ParameterSet iConfig)
explicit

Definition at line 28 of file V0Validator.cc.

References genK0s, genLam, k0sCandFound, lamCandFound, noTPforK0sCand, noTPforLamCand, realK0sFound, realK0sFoundEff, realLamFound, and realLamFoundEff.

29  : theDQMRootFileName(iConfig.getUntrackedParameter<std::string>("DQMRootFileName"))
30  , dirName(iConfig.getUntrackedParameter<std::string>("dirName"))
31  , recoRecoToSimCollectionToken_( consumes<reco::RecoToSimCollection>( iConfig.getUntrackedParameter<edm::InputTag>("trackAssociatorMap") ) )
32  , recoSimToRecoCollectionToken_( consumes<reco::SimToRecoCollection>( iConfig.getUntrackedParameter<edm::InputTag>("trackAssociatorMap") ) )
33  , trackingParticleCollection_Eff_Token_( consumes<TrackingParticleCollection>( iConfig.getUntrackedParameter<edm::InputTag>("trackingParticleCollectionEff") ) )
34  , vec_recoVertex_Token_( consumes< std::vector<reco::Vertex> >( iConfig.getUntrackedParameter<edm::InputTag>("vertexCollection") ) )
35  , recoVertexCompositeCandidateCollection_k0s_Token_( consumes<reco::VertexCompositeCandidateCollection>( iConfig.getUntrackedParameter<edm::InputTag>( "kShortCollection" ) ) )
36  , recoVertexCompositeCandidateCollection_lambda_Token_( consumes<reco::VertexCompositeCandidateCollection>( iConfig.getUntrackedParameter<edm::InputTag>( "lambdaCollection" ) ) )
37 {
38 
40 
41 }
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< reco::SimToRecoCollection > recoSimToRecoCollectionToken_
Definition: V0Validator.h:201
edm::EDGetTokenT< reco::VertexCompositeCandidateCollection > recoVertexCompositeCandidateCollection_k0s_Token_
Definition: V0Validator.h:204
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
int lamCandFound
Definition: V0Validator.h:101
int k0sCandFound
Definition: V0Validator.h:101
int noTPforLamCand
Definition: V0Validator.h:101
int realLamFound
Definition: V0Validator.h:100
edm::EDGetTokenT< std::vector< reco::Vertex > > vec_recoVertex_Token_
Definition: V0Validator.h:203
int noTPforK0sCand
Definition: V0Validator.h:101
edm::EDGetTokenT< TrackingParticleCollection > trackingParticleCollection_Eff_Token_
Definition: V0Validator.h:202
std::string theDQMRootFileName
Definition: V0Validator.h:198
edm::EDGetTokenT< reco::RecoToSimCollection > recoRecoToSimCollectionToken_
Definition: V0Validator.h:200
edm::EDGetTokenT< reco::VertexCompositeCandidateCollection > recoVertexCompositeCandidateCollection_lambda_Token_
Definition: V0Validator.h:204
int realK0sFoundEff
Definition: V0Validator.h:100
std::string dirName
Definition: V0Validator.h:199
int realLamFoundEff
Definition: V0Validator.h:100
int realK0sFound
Definition: V0Validator.h:100
V0Validator::~V0Validator ( )

Definition at line 43 of file V0Validator.cc.

43  {
44 
45 }

Member Function Documentation

void V0Validator::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 262 of file V0Validator.cc.

References funct::abs(), gather_cfg::cout, fakeKsMass, fakeLamMass, MonitorElement::Fill(), genK0s, genLam, edm::EventSetup::get(), edm::Ref< C, T, F >::get(), edm::Event::getByToken(), goodKsMass, goodLamMass, i, edm::Ref< C, T, F >::isNonnull(), j, K0sCandEta, K0sCandpT, K0sCandR, K0sCandStatus, K0sGenEta, K0sGenpT, K0sGenR, K0sGenStatus, K0sPiCandStatus, K0sPiEff, k0sTracksFound, ksCandStatus, ksEffVsEta_denom, ksEffVsEta_num, ksEffVsPt_denom, ksEffVsPt_num, ksEffVsR_denom, ksEffVsR_num, ksFakeDauRadDist, ksFakeVsEta_denom, ksFakeVsEta_num, ksFakeVsPt_denom, ksFakeVsPt_num, ksFakeVsR_denom, ksFakeVsR_num, ksMassAll, ksTkEffVsEta_num, ksTkEffVsPt_num, ksTkEffVsR_num, ksTkFakeVsEta_num, ksTkFakeVsPt_num, ksTkFakeVsR_num, LamCandEta, LamCandpT, LamCandR, LamCandStatus, lamCandStatus, lamEffVsEta_denom, lamEffVsEta_num, lamEffVsPt_denom, lamEffVsPt_num, lamEffVsR_denom, lamEffVsR_num, lamFakeDauRadDist, lamFakeVsEta_denom, lamFakeVsEta_num, lamFakeVsPt_denom, lamFakeVsPt_num, lamFakeVsR_denom, lamFakeVsR_num, LamGenEta, LamGenpT, LamGenR, LamGenStatus, lamMassAll, LamPiCandStatus, LamPiEff, lamTkEffVsEta_num, lamTkEffVsPt_num, lamTkEffVsR_num, lamTkFakeVsEta_num, lamTkFakeVsPt_num, lamTkFakeVsR_num, TrackingParticle::momentum(), nKs, nLam, noTPforK0sCand, noTPforLamCand, TrackingParticle::parentVertex(), TrackingParticle::pdgId(), realK0sFound, realK0sFoundEff, realLamFound, realLamFoundEff, recoRecoToSimCollectionToken_, recoSimToRecoCollectionToken_, recoVertexCompositeCandidateCollection_k0s_Token_, recoVertexCompositeCandidateCollection_lambda_Token_, mathSSE::sqrt(), trackingParticleCollection_Eff_Token_, vec_recoVertex_Token_, and TrackingParticle::vertex().

262  {
263 
264  using std::cout;
265  using std::endl;
266  using namespace edm;
267  using namespace std;
268 
269  // Get event setup info, B-field and tracker geometry
270  ESHandle<MagneticField> bFieldHandle;
271  iSetup.get<IdealMagneticFieldRecord>().get(bFieldHandle);
272  ESHandle<GlobalTrackingGeometry> globTkGeomHandle;
273  iSetup.get<GlobalTrackingGeometryRecord>().get(globTkGeomHandle);
274 
275  // Make matching collections
276  Handle<reco::RecoToSimCollection > recotosimCollectionH;
277  iEvent.getByToken( recoRecoToSimCollectionToken_, recotosimCollectionH );
278 
279  Handle<reco::SimToRecoCollection> simtorecoCollectionH;
280  iEvent.getByToken( recoSimToRecoCollectionToken_, simtorecoCollectionH );
281 
283  iEvent.getByToken( trackingParticleCollection_Eff_Token_, TPCollectionEff );
284  const TrackingParticleCollection& tPCeff = *( TPCollectionEff.product() );
285 
286  // Select the primary vertex, create a new reco::Vertex to hold it
287  edm::Handle< std::vector<reco::Vertex> > primaryVtxCollectionH;
288  iEvent.getByToken( vec_recoVertex_Token_, primaryVtxCollectionH );
289 
290  std::vector<reco::Vertex>::const_iterator iVtxPH = primaryVtxCollectionH->begin();
291  for(std::vector<reco::Vertex>::const_iterator iVtx = primaryVtxCollectionH->begin();
292  iVtx < primaryVtxCollectionH->end();
293  iVtx++) {
294  if(primaryVtxCollectionH->size() > 1) {
295  if(iVtx->tracksSize() > iVtxPH->tracksSize()) {
296  iVtxPH = iVtx;
297  }
298  }
299  else iVtxPH = iVtx;
300  }
301 
302  //get the V0s;
307 
308  //make vector of pair of trackingParticles to hold good V0 candidates
309  std::vector< pair<TrackingParticleRef, TrackingParticleRef> > trueK0s;
310  std::vector< pair<TrackingParticleRef, TrackingParticleRef> > trueLams;
311  std::vector<double> trueKsMasses;
312  std::vector<double> trueLamMasses;
313 
315  // Do fake rate calculation //
317 
318  // Kshorts
319  double numK0sFound = 0.;
320  double mass = 0.;
321  std::vector<double> radDist;
322  if ( k0sCollection->size() > 0 ) {
323  vector<reco::TrackRef> theDaughterTracks;
324  for( reco::VertexCompositeCandidateCollection::const_iterator iK0s = k0sCollection->begin();
325  iK0s != k0sCollection->end();
326  iK0s++) {
327  // Fill mass of all K0S
328  ksMassAll->Fill( iK0s->mass() );
329  // Fill values to be histogrammed
330  K0sCandpT = (sqrt( iK0s->momentum().perp2() ));
331  K0sCandEta = iK0s->momentum().eta();
332  K0sCandR = (sqrt( iK0s->vertex().perp2() ));
333  K0sCandStatus = 0;
334  mass = iK0s->mass();
335 
336  theDaughterTracks.push_back( (*(dynamic_cast<const reco::RecoChargedCandidate *> (iK0s->daughter(0)) )).track() );
337  theDaughterTracks.push_back( (*(dynamic_cast<const reco::RecoChargedCandidate *> (iK0s->daughter(1)) )).track() );
338 
339  for (int itrack = 0; itrack < 2; itrack++) {
340  K0sPiCandStatus[itrack] = 0;
341  }
342 
343  std::vector< std::pair<TrackingParticleRef, double> > tp;
344  TrackingParticleRef tpref;
345  TrackingParticleRef firstDauTP;
346  TrackingVertexRef k0sVtx;
347 
348  // Loop through K0s candidate daugher tracks
349  for(View<reco::Track>::size_type i=0; i<theDaughterTracks.size(); ++i){
350  // Found track from theDaughterTracks
351  RefToBase<reco::Track> track( theDaughterTracks.at(i) );
352 
353  if(recotosimCollectionH->find(track) != recotosimCollectionH->end()) {
354  tp = (*recotosimCollectionH)[track];
355  if (tp.size() != 0) {
356  K0sPiCandStatus[i] = 1;
357  tpref = tp.begin()->first;
358 
359  if( simtorecoCollectionH->find(tpref) == simtorecoCollectionH->end() ) {
360  K0sPiCandStatus[i] = 3;
361  }
362  TrackingVertexRef parentVertex = tpref->parentVertex();
363  if(parentVertex.isNonnull()) radDist.push_back(parentVertex->position().R());
364 
365  if( parentVertex.isNonnull() ) {
366  if( k0sVtx.isNonnull() ) {
367  if( k0sVtx->position() == parentVertex->position() ) {
368  if( parentVertex->nDaughterTracks() == 2 ) {
369  if( parentVertex->nSourceTracks() == 0 ) {
370  // No source tracks found for K0s vertex; shouldn't happen, but does for evtGen events
371  K0sCandStatus = 6;
372  }
373 
374  for( TrackingVertex::tp_iterator iTP = parentVertex->sourceTracks_begin();
375  iTP != parentVertex->sourceTracks_end(); iTP++) {
376  if( (*iTP)->pdgId() == 310 ) {
377  K0sCandStatus = 1;
378  realK0sFound++;
379  numK0sFound += 1.;
380  std::pair<TrackingParticleRef, TrackingParticleRef> pair(firstDauTP, tpref);
381  // Pushing back a good V0
382  trueK0s.push_back(pair);
383  trueKsMasses.push_back(mass);
384  }
385  else {
386  K0sCandStatus = 2;
387  if( (*iTP)->pdgId() == 3122 ) {
388  K0sCandStatus = 7;
389  }
390  }
391  }
392  }
393  else {
394  // Found a bad match because the mother has too many daughters
395  K0sCandStatus = 3;
396  }
397  }
398  else {
399  // Found a bad match because the parent vertices from the two tracks are different
400  K0sCandStatus = 4;
401  }
402  }
403  else {
404  // if k0sVtx is null, fill it with parentVertex to compare to the parentVertex from the second track
405  k0sVtx = parentVertex;
406  firstDauTP = tpref;
407  }
408  }//parent vertex is null
409  }//tp size zero
410  }
411  else {
412  K0sPiCandStatus[i] = 2;
413  noTPforK0sCand++;
414  K0sCandStatus = 5;
415  theDaughterTracks.clear();
416  }
417  }
418  theDaughterTracks.clear();
419  // fill the fake rate histograms
420  if( K0sCandStatus > 1 ) {
424  ksCandStatus->Fill((float) K0sCandStatus);
425  fakeKsMass->Fill(mass);
426  for( unsigned int ndx = 0; ndx < radDist.size(); ndx++ ) {
427  ksFakeDauRadDist->Fill(radDist[ndx]);
428  }
429  }
430  if( K0sCandStatus == 5 ) {
434  }
438  }
439  }
440  nKs->Fill( (float) numK0sFound );
441  numK0sFound = 0.;
442 
443  double numLamFound = 0.;
444  mass = 0.;
445  radDist.clear();
446  // Lambdas
447  if ( lambdaCollection->size() > 0 ) {
448  vector<reco::TrackRef> theDaughterTracks;
449  for( reco::VertexCompositeCandidateCollection::const_iterator iLam = lambdaCollection->begin();
450  iLam != lambdaCollection->end();
451  iLam++) {
452  // Fill mass plot with ALL lambdas
453  lamMassAll->Fill( iLam->mass() );
454  // Fill values to be histogrammed
455  LamCandpT = (sqrt( iLam->momentum().perp2() ));
456  LamCandEta = iLam->momentum().eta();
457  LamCandR = (sqrt( iLam->vertex().perp2() ));
458  LamCandStatus = 0;
459  mass = iLam->mass();
460 
461  //cout << "Lam daughter tracks" << endl;
462  theDaughterTracks.push_back( (*(dynamic_cast<const reco::RecoChargedCandidate *> (iLam->daughter(0)) )).track() );
463  theDaughterTracks.push_back( (*(dynamic_cast<const reco::RecoChargedCandidate *> (iLam->daughter(1)) )).track() );
464 
465  for (int itrack = 0; itrack < 2; itrack++) {
466  LamPiCandStatus[itrack] = 0;
467  }
468 
469  std::vector< std::pair<TrackingParticleRef, double> > tp;
470  TrackingParticleRef tpref;
471  TrackingParticleRef firstDauTP;
472  TrackingVertexRef LamVtx;
473  // Loop through Lambda candidate daughter tracks
474  for(View<reco::Track>::size_type i=0; i<theDaughterTracks.size(); ++i){
475  // Found track from theDaughterTracks
476  RefToBase<reco::Track> track( theDaughterTracks.at(i) );
477 
478  if(recotosimCollectionH->find(track) != recotosimCollectionH->end()) {
479  tp = (*recotosimCollectionH)[track];
480  if (tp.size() != 0) {
481  LamPiCandStatus[i] = 1;
482  tpref = tp.begin()->first;
483  if( simtorecoCollectionH->find(tpref) == simtorecoCollectionH->end() ) {
484  LamPiCandStatus[i] = 3;
485  }
486  TrackingVertexRef parentVertex = tpref->parentVertex();
487  if( parentVertex.isNonnull() ) radDist.push_back(parentVertex->position().R());
488 
489  if( parentVertex.isNonnull() ) {
490  if( LamVtx.isNonnull() ) {
491  if( LamVtx->position() == parentVertex->position() ) {
492  if( parentVertex->nDaughterTracks() == 2 ) {
493  if( parentVertex->nSourceTracks() == 0 ) {
494  // No source tracks found for K0s vertex; shouldn't happen, but does for evtGen events
495  LamCandStatus = 6;
496  }
497 
498  for( TrackingVertex::tp_iterator iTP = parentVertex->sourceTracks_begin();
499  iTP != parentVertex->sourceTracks_end(); ++iTP) {
500  if( abs((*iTP)->pdgId()) == 3122 ) {
501  LamCandStatus = 1;
502  realLamFound++;
503  numLamFound += 1.;
504  std::pair<TrackingParticleRef, TrackingParticleRef> pair(firstDauTP, tpref);
505  // Pushing back a good V0
506  trueLams.push_back(pair);
507  trueLamMasses.push_back(mass);
508  }
509  else {
510  LamCandStatus = 2;
511  if( abs((*iTP)->pdgId() ) == 310 ) {
512  LamCandStatus = 7;
513  }
514  }
515  }
516  }
517  else {
518  // Found a bad match because the mother has too many daughters
519  LamCandStatus = 3;
520  }
521  }
522  else {
523  // Found a bad match because the parent vertices from the two tracks are different
524  LamCandStatus = 4;
525  }
526  }
527  else {
528  // if lamVtx is null, fill it with parentVertex to compare to the parentVertex from the second track
529  LamVtx = parentVertex;
530  firstDauTP = tpref;
531  }
532  }//parent vertex is null
533  }//tp size zero
534  }
535  else {
536  LamPiCandStatus[i] = 2;
537  noTPforLamCand++;
538  LamCandStatus = 5;
539  theDaughterTracks.clear();
540  }
541  }
542  theDaughterTracks.clear();
543  // fill the fake rate histograms
544  if( LamCandStatus > 1 ) {
548  lamCandStatus->Fill((float) LamCandStatus);
549  fakeLamMass->Fill(mass);
550  for( unsigned int ndx = 0; ndx < radDist.size(); ndx++ ) {
551  lamFakeDauRadDist->Fill(radDist[ndx]);
552  }
553  }
554  if( K0sCandStatus == 5 ) {
558  }
562  }
563  }
564  nLam->Fill( (double) numLamFound );
565  numLamFound = 0.;
566 
567 
569  // Do efficiency calculation //
571  // Lambdas
572  for(TrackingParticleCollection::size_type i = 0; i < tPCeff.size(); i++) {
573  TrackingParticleRef tpr1(TPCollectionEff, i);
574  const TrackingParticle* itp1 = tpr1.get();
575  if( (itp1->pdgId() == 211 || itp1->pdgId() == 2212)
576  && itp1->parentVertex().isNonnull()
577  && abs(itp1->momentum().eta()) < 2.4
578  && sqrt( itp1->momentum().perp2() ) > 0.9) {
579  bool isLambda = false;
580  if( itp1->pdgId() == 2212 ) isLambda = true;
581  if( itp1->parentVertex()->nDaughterTracks() == 2 ) {
582 
583  TrackingVertexRef piCand1Vertex = itp1->parentVertex();
584  for(TrackingVertex::tp_iterator iTP1 = piCand1Vertex->sourceTracks_begin();
585  iTP1 != piCand1Vertex->sourceTracks_end(); iTP1++) {
586  if( abs((*iTP1)->pdgId()) == 3122 ) {
587  // ----->>>>>>Keep going here
589  j < tPCeff.size();
590  j++) {
591  TrackingParticleRef tpr2(TPCollectionEff, j);
592  const TrackingParticle* itp2 = tpr2.get();
593  int particle2pdgId;
594  if (isLambda) particle2pdgId = -211;
595  else particle2pdgId = -2212;
596  if( itp2->pdgId() == particle2pdgId
597  && itp2->parentVertex().isNonnull()
598  && abs(itp2->momentum().eta()) < 2.4
599  && sqrt(itp2->momentum().perp2()) > 0.9) {
600  if(itp2->parentVertex() == itp1->parentVertex()) {
601  // Found a good pair of Lambda daughters
602  TrackingVertexRef piCand2Vertex = itp2->parentVertex();
603  for (TrackingVertex::tp_iterator iTP2 = piCand2Vertex->sourceTracks_begin();
604  iTP2 != piCand2Vertex->sourceTracks_end();
605  ++iTP2) {
606  LamGenEta = LamGenpT = LamGenR = 0.;
607  LamGenStatus = 0;
608  for(int ifill = 0;
609  ifill < 2;
610  ifill++) {
611  // do nothing?
612  }
613  if( abs((*iTP2)->pdgId()) == 3122 ) {
614  // found generated Lambda
615  LamGenpT = sqrt((*iTP2)->momentum().perp2());
616  LamGenEta = (*iTP2)->momentum().eta();
617  LamGenR = sqrt(itp2->vertex().perp2());
618  genLam++;
619  if(trueLams.size() > 0) {
620  int loop_1 = 0;
621  for(std::vector< pair<TrackingParticleRef, TrackingParticleRef> >::const_iterator iEffCheck = trueLams.begin();
622  iEffCheck != trueLams.end();
623  iEffCheck++) {
624  if( itp1->parentVertex() == iEffCheck->first->parentVertex()
625  && itp2->parentVertex() == iEffCheck->second->parentVertex() ) {
626  realLamFoundEff++;
627  //V0Producer found the generated Lambda
628  LamGenStatus = 1;
629  goodLamMass->Fill(trueLamMasses[loop_1]);
630  break;
631  }
632  else {
633  //V0Producer didn't find the generated Lambda
634  LamGenStatus = 2;
635  }
636  loop_1++;
637  }
638  }
639  else {
640  //No V0 cand found, so V0Producer didn't find the generated Lambda
641  LamGenStatus = 2;
642  }
643  std::vector< std::pair<RefToBase<reco::Track>, double> > rt1;
644  std::vector< std::pair<RefToBase<reco::Track>, double> > rt2;
645 
646  if( simtorecoCollectionH->find(tpr1) != simtorecoCollectionH->end() ) {
647  rt1 = (std::vector<std::pair<RefToBase<reco::Track>, double> >) (*simtorecoCollectionH)[tpr1];
648  if(rt1.size() != 0) {
649  LamPiEff[0] = 1; //Found the first daughter track
650  edm::RefToBase<reco::Track> t1 = rt1.begin()->first;
651  }
652  }
653  else {
654  LamPiEff[0] = 2;//First daughter not found
655  }
656  if( (simtorecoCollectionH->find(tpr2) != simtorecoCollectionH->end()) ) {
657  rt2 = (std::vector<std::pair<RefToBase<reco::Track>, double> >) (*simtorecoCollectionH)[tpr2];
658  if(rt2.size() != 0) {
659  LamPiEff[1] = 1;//Found the second daughter track
660  edm::RefToBase<reco::Track> t2 = rt2.begin()->first;
661  }
662  }
663  else {
664  LamPiEff[1] = 2;//Second daughter not found
665  }
666 
667  if( LamGenStatus == 1
668  && (LamPiEff[0] == 2 || LamPiEff[1] == 2) ) {
669  // Good Lambda found, but recoTrack->trackingParticle->recoTrack didn't work
670  LamGenStatus = 4;
671  realLamFoundEff--;
672  }
673  if( LamGenStatus == 2
674  && (LamPiEff[0] == 2 || LamPiEff[1] == 2) ) {
675  // Lambda not found because we didn't find a daughter track
676  LamGenStatus = 3;
677  }
678  // Fill histograms
679  if(LamGenR > 0.) {
680  if(LamGenStatus == 1) {
682  }
683  if((double) LamGenStatus < 2.5) {
685  }
687  }
688  if(abs(LamGenEta) > 0.) {
689  if(LamGenStatus == 1) {
690  lamEffVsEta_num->Fill(LamGenEta);
691  }
692  if((double) LamGenStatus < 2.5) {
693  lamTkEffVsEta_num->Fill(LamGenEta);
694  }
695  lamEffVsEta_denom->Fill(LamGenEta);
696  }
697  if(LamGenpT > 0.) {
698  if(LamGenStatus == 1) {
700  }
701  if((double) LamGenStatus < 2.5) {
703  }
705  }
706  }
707  }
708  }
709  }
710  }
711  }
712  }
713  }
714  }
715  }
716 
717  //Kshorts
718 
719  for (TrackingParticleCollection::size_type i=0; i<tPCeff.size(); i++){
720  TrackingParticleRef tpr1(TPCollectionEff, i);
721  const TrackingParticle* itp1 = tpr1.get();
722  // only count the efficiency for pions with |eta|<2.4 and pT>0.9 GeV. First search for a suitable pi+
723  if ( itp1->pdgId() == 211
724  && itp1->parentVertex().isNonnull()
725  && abs(itp1->momentum().eta()) < 2.4
726  && sqrt(itp1->momentum().perp2()) > 0.9) {
727  if ( itp1->parentVertex()->nDaughterTracks() == 2 ) {
728  TrackingVertexRef piCand1Vertex = itp1->parentVertex();
729  //check trackingParticle pion for a Ks mother
730  for (TrackingVertex::tp_iterator iTP1 = piCand1Vertex->sourceTracks_begin();
731  iTP1 != piCand1Vertex->sourceTracks_end(); ++iTP1) {
732  //iTP1 is a TrackingParticle
733  if ( (*iTP1)->pdgId()==310 ) {
734  //with a Ks mother found for the pi+, loop through trackingParticles again to find a pi-
735  for (TrackingParticleCollection::size_type j=0; j<tPCeff.size(); j++){
736  TrackingParticleRef tpr2(TPCollectionEff, j);
737  const TrackingParticle* itp2 = tpr2.get();
738 
739  if ( itp2->pdgId() == -211 && itp2->parentVertex().isNonnull()
740  && abs(itp2->momentum().eta()) < 2.4
741  && sqrt(itp2->momentum().perp2()) > 0.9) {
742  //check the pi+ and pi- have the same vertex
743  if ( itp2->parentVertex() == itp1->parentVertex() ) {
744  TrackingVertexRef piCand2Vertex = itp2->parentVertex();
745  for (TrackingVertex::tp_iterator iTP2 = piCand2Vertex->sourceTracks_begin();
746  iTP2 != piCand2Vertex->sourceTracks_end(); ++iTP2) {
747  //iTP2 is a TrackingParticle
748  K0sGenEta = K0sGenpT = K0sGenR = 0.;
749  K0sGenStatus = 0;
750  if( (*iTP2)->pdgId() == 310 ) {
751  K0sGenpT = sqrt( (*iTP2)->momentum().perp2() );
752  K0sGenEta = (*iTP2)->momentum().eta();
753  K0sGenR = sqrt(itp2->vertex().perp2());
754  genK0s++;
755  int loop_2 = 0;
756  if( trueK0s.size() > 0 ) {
757  for( std::vector< pair<TrackingParticleRef, TrackingParticleRef> >::const_iterator iEffCheck = trueK0s.begin();
758  iEffCheck != trueK0s.end();
759  iEffCheck++) {
760  //if the parent vertices for the tracks are the same, then the generated Ks was found
761  if (itp1->parentVertex()==iEffCheck->first->parentVertex() &&
762  itp2->parentVertex()==iEffCheck->second->parentVertex()) {
763  realK0sFoundEff++;
764  K0sGenStatus = 1;
765  goodKsMass->Fill(trueKsMasses[loop_2]);
766  break;
767  }
768  else {
769  K0sGenStatus = 2;
770  }
771  }
772  }
773  else {
774  K0sGenStatus = 2;
775  }
776 
777  // Check if the generated Ks tracks were found or not
778  // by searching the recoTracks list for a match to the trackingParticles
779 
780  std::vector<std::pair<RefToBase<reco::Track>, double> > rt1;
781  std::vector<std::pair<RefToBase<reco::Track>, double> > rt2;
782 
783  if( simtorecoCollectionH->find(tpr1) != simtorecoCollectionH->end() ) {
784  rt1 = (std::vector< std::pair<RefToBase<reco::Track>, double> >) (*simtorecoCollectionH)[tpr1];
785  if(rt1.size() != 0) {
786  //First pion found
787  K0sPiEff[0] = 1;
788  edm::RefToBase<reco::Track> t1 = rt1.begin()->first;
789  }
790  }
791  else {
792  //First pion not found
793  K0sPiEff[0] = 2;
794  }
795 
796  if( simtorecoCollectionH->find(tpr2) != simtorecoCollectionH->end() ) {
797  rt2 = (std::vector< std::pair<RefToBase<reco::Track>, double> >) (*simtorecoCollectionH)[tpr2];
798  if(rt2.size() != 0) {
799  //Second pion found
800  K0sPiEff[1] = 1;
801  edm::RefToBase<reco::Track> t2 = rt2.begin()->first;
802  }
803  }
804  else {
805  K0sPiEff[1] = 2;
806  }
807  if(K0sGenStatus == 1
808  && (K0sPiEff[0] == 2 || K0sPiEff[1] == 2)) {
809  K0sGenStatus = 4;
810  realK0sFoundEff--;
811  }
812  if(K0sGenStatus == 2
813  && (K0sPiEff[0] == 2 || K0sPiEff[1] == 2)) {
814  K0sGenStatus = 3;
815  }
816  if(K0sPiEff[0] == 1 && K0sPiEff[1] == 1) {
817  k0sTracksFound++;
818  }
819  //Fill Histograms
820  if(K0sGenR > 0.) {
821  if(K0sGenStatus == 1) {
823  }
824  if((double) K0sGenStatus < 2.5) {
826  }
828  }
829  if(abs(K0sGenEta) > 0.) {
830  if(K0sGenStatus == 1) {
831  ksEffVsEta_num->Fill(K0sGenEta);
832  }
833  if((double) K0sGenStatus < 2.5) {
834  ksTkEffVsEta_num->Fill(K0sGenEta);
835  }
836  ksEffVsEta_denom->Fill(K0sGenEta);
837  }
838  if(K0sGenpT > 0.) {
839  if(K0sGenStatus == 1) {
841  }
842  if((double) K0sGenStatus < 2.5) {
844  }
846  }
847  }
848  }
849  }
850  }
851  }
852  }
853  }
854  }
855  }
856  }
857 }
unsigned int size_type
Definition: View.h:89
int i
Definition: DBlmapReader.cc:9
MonitorElement * nLam
Definition: V0Validator.h:180
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
MonitorElement * lamTkFakeVsR_num
Definition: V0Validator.h:166
unsigned int K0sCandStatus
Definition: V0Validator.h:96
edm::EDGetTokenT< reco::SimToRecoCollection > recoSimToRecoCollectionToken_
Definition: V0Validator.h:201
edm::EDGetTokenT< reco::VertexCompositeCandidateCollection > recoVertexCompositeCandidateCollection_k0s_Token_
Definition: V0Validator.h:204
float LamGenR
Definition: V0Validator.h:93
std::vector< TrackingParticle > TrackingParticleCollection
Vector momentum() const
spatial momentum vector
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
MonitorElement * ksFakeVsPt_denom
Definition: V0Validator.h:132
float LamCandR
Definition: V0Validator.h:95
int pdgId() const
PDG ID.
MonitorElement * ksFakeVsR_denom
Definition: V0Validator.h:130
MonitorElement * ksFakeVsEta_num
Definition: V0Validator.h:124
unsigned int LamPiCandStatus[2]
Definition: V0Validator.h:97
MonitorElement * lamEffVsEta_num
Definition: V0Validator.h:158
MonitorElement * lamFakeVsPt_denom
Definition: V0Validator.h:139
MonitorElement * ksEffVsR_num
Definition: V0Validator.h:117
MonitorElement * ksFakeVsPt_num
Definition: V0Validator.h:125
MonitorElement * lamFakeVsR_denom
Definition: V0Validator.h:137
MonitorElement * lamEffVsPt_denom
Definition: V0Validator.h:142
unsigned int K0sPiCandStatus[2]
Definition: V0Validator.h:97
uint16_t size_type
MonitorElement * lamEffVsPt_num
Definition: V0Validator.h:159
void Fill(long long x)
unsigned int LamPiEff[2]
Definition: V0Validator.h:97
MonitorElement * lamFakeDauRadDist
Definition: V0Validator.h:195
MonitorElement * ksFakeVsEta_denom
Definition: V0Validator.h:131
MonitorElement * fakeLamMass
Definition: V0Validator.h:187
MonitorElement * ksFakeDauRadDist
Definition: V0Validator.h:194
MonitorElement * lamTkFakeVsEta_num
Definition: V0Validator.h:167
MonitorElement * ksEffVsPt_denom
Definition: V0Validator.h:135
MonitorElement * ksTkFakeVsEta_num
Definition: V0Validator.h:127
int noTPforLamCand
Definition: V0Validator.h:101
T sqrt(T t)
Definition: SSEVec.h:48
MonitorElement * ksTkEffVsR_num
Definition: V0Validator.h:120
MonitorElement * lamFakeVsEta_denom
Definition: V0Validator.h:138
MonitorElement * ksEffVsEta_denom
Definition: V0Validator.h:134
float K0sCandEta
Definition: V0Validator.h:95
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int j
Definition: DBlmapReader.cc:9
MonitorElement * goodKsMass
Definition: V0Validator.h:186
float LamGenpT
Definition: V0Validator.h:93
int realLamFound
Definition: V0Validator.h:100
const TrackingVertexRef & parentVertex() const
MonitorElement * fakeKsMass
Definition: V0Validator.h:185
edm::EDGetTokenT< std::vector< reco::Vertex > > vec_recoVertex_Token_
Definition: V0Validator.h:203
MonitorElement * goodLamMass
Definition: V0Validator.h:188
unsigned int LamGenStatus
Definition: V0Validator.h:96
unsigned int K0sGenStatus
Definition: V0Validator.h:96
MonitorElement * ksMassAll
Definition: V0Validator.h:190
MonitorElement * lamTkEffVsR_num
Definition: V0Validator.h:160
MonitorElement * nKs
Definition: V0Validator.h:179
MonitorElement * lamTkEffVsEta_num
Definition: V0Validator.h:161
int noTPforK0sCand
Definition: V0Validator.h:101
float K0sGenEta
Definition: V0Validator.h:93
float K0sCandpT
Definition: V0Validator.h:95
float K0sGenpT
Definition: V0Validator.h:93
MonitorElement * lamEffVsEta_denom
Definition: V0Validator.h:141
const T & get() const
Definition: EventSetup.h:55
edm::EDGetTokenT< TrackingParticleCollection > trackingParticleCollection_Eff_Token_
Definition: V0Validator.h:202
MonitorElement * ksCandStatus
Definition: V0Validator.h:182
MonitorElement * lamCandStatus
Definition: V0Validator.h:183
MonitorElement * lamTkFakeVsPt_num
Definition: V0Validator.h:168
MonitorElement * lamFakeVsEta_num
Definition: V0Validator.h:164
Point vertex() const
Parent vertex position.
MonitorElement * ksTkEffVsPt_num
Definition: V0Validator.h:122
MonitorElement * lamFakeVsPt_num
Definition: V0Validator.h:165
MonitorElement * lamMassAll
Definition: V0Validator.h:191
float K0sCandR
Definition: V0Validator.h:95
MonitorElement * lamFakeVsR_num
Definition: V0Validator.h:163
float LamGenEta
Definition: V0Validator.h:93
float LamCandEta
Definition: V0Validator.h:95
MonitorElement * lamEffVsR_num
Definition: V0Validator.h:157
MonitorElement * lamTkEffVsPt_num
Definition: V0Validator.h:162
edm::EDGetTokenT< reco::RecoToSimCollection > recoRecoToSimCollectionToken_
Definition: V0Validator.h:200
edm::EDGetTokenT< reco::VertexCompositeCandidateCollection > recoVertexCompositeCandidateCollection_lambda_Token_
Definition: V0Validator.h:204
unsigned int LamCandStatus
Definition: V0Validator.h:96
Monte Carlo truth information used for tracking validation.
MonitorElement * ksEffVsPt_num
Definition: V0Validator.h:119
MonitorElement * ksTkEffVsEta_num
Definition: V0Validator.h:121
tuple cout
Definition: gather_cfg.py:121
MonitorElement * ksEffVsR_denom
Definition: V0Validator.h:133
MonitorElement * ksTkFakeVsPt_num
Definition: V0Validator.h:128
int realK0sFoundEff
Definition: V0Validator.h:100
MonitorElement * ksFakeVsR_num
Definition: V0Validator.h:123
MonitorElement * ksEffVsEta_num
Definition: V0Validator.h:118
unsigned int K0sPiEff[2]
Definition: V0Validator.h:97
int k0sTracksFound
Definition: V0Validator.h:101
int realLamFoundEff
Definition: V0Validator.h:100
float K0sGenR
Definition: V0Validator.h:93
MonitorElement * lamEffVsR_denom
Definition: V0Validator.h:140
int realK0sFound
Definition: V0Validator.h:100
float LamCandpT
Definition: V0Validator.h:95
MonitorElement * ksTkFakeVsR_num
Definition: V0Validator.h:126
void V0Validator::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 47 of file V0Validator.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::cd(), dirName, fakeKsMass, fakeLamMass, goodKsMass, goodLamMass, ksAbsoluteDistResolution, ksCandStatus, ksEffVsEta, ksEffVsEta_denom, ksEffVsEta_num, ksEffVsPt, ksEffVsPt_denom, ksEffVsPt_num, ksEffVsR, ksEffVsR_denom, ksEffVsR_num, ksFakeDauRadDist, ksFakeVsEta, ksFakeVsEta_denom, ksFakeVsEta_num, ksFakeVsPt, ksFakeVsPt_denom, ksFakeVsPt_num, ksFakeVsR, ksFakeVsR_denom, ksFakeVsR_num, ksMassAll, ksTkEffVsEta, ksTkEffVsEta_num, ksTkEffVsPt, ksTkEffVsPt_num, ksTkEffVsR, ksTkEffVsR_num, ksTkFakeVsEta, ksTkFakeVsEta_num, ksTkFakeVsPt, ksTkFakeVsPt_num, ksTkFakeVsR, ksTkFakeVsR_num, ksXResolution, ksYResolution, ksZResolution, lamAbsoluteDistResolution, lamCandStatus, lamEffVsEta, lamEffVsEta_denom, lamEffVsEta_num, lamEffVsPt, lamEffVsPt_denom, lamEffVsPt_num, lamEffVsR, lamEffVsR_denom, lamEffVsR_num, lamFakeDauRadDist, lamFakeVsEta, lamFakeVsEta_denom, lamFakeVsEta_num, lamFakeVsPt, lamFakeVsPt_denom, lamFakeVsPt_num, lamFakeVsR, lamFakeVsR_denom, lamFakeVsR_num, lamMassAll, lamTkEffVsEta, lamTkEffVsEta_num, lamTkEffVsPt, lamTkEffVsPt_num, lamTkEffVsR, lamTkEffVsR_num, lamTkFakeVsEta, lamTkFakeVsEta_num, lamTkFakeVsPt, lamTkFakeVsPt_num, lamTkFakeVsR, lamTkFakeVsR_num, lamXResolution, lamYResolution, lamZResolution, nKs, nLam, DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

47  {
48  ibooker.cd();
49  std::string subDirName = V0Validator::dirName + "/EffFakes";
50  ibooker.setCurrentFolder(subDirName.c_str());
51 
52  ksEffVsR = ibooker.book1D("K0sEffVsR",
53  "K^{0}_{S} Efficiency vs #rho", 40, 0., 40.);
54  ksEffVsEta = ibooker.book1D("K0sEffVsEta",
55  "K^{0}_{S} Efficiency vs #eta", 40, -2.5, 2.5);
56  ksEffVsPt = ibooker.book1D("K0sEffVsPt",
57  "K^{0}_{S} Efficiency vs p_{T}", 70, 0., 20.);;
58 
59  ksTkEffVsR = ibooker.book1D("K0sTkEffVsR",
60  "K^{0}_{S} Tracking Efficiency vs #rho", 40, 0., 40.);
61  ksTkEffVsEta = ibooker.book1D("K0sTkEffVsEta",
62  "K^{0}_{S} Tracking Efficiency vs #eta", 40, -2.5, 2.5);
63  ksTkEffVsPt = ibooker.book1D("K0sTkEffVsPt",
64  "K^{0}_{S} Tracking Efficiency vs p_{T}", 70, 0., 20.);
65 
66  ksEffVsR_num = ibooker.book1D("K0sEffVsR_num",
67  "K^{0}_{S} Efficiency vs #rho", 40, 0., 40.);
68  ksEffVsEta_num = ibooker.book1D("K0sEffVsEta_num",
69  "K^{0}_{S} Efficiency vs #eta", 40, -2.5, 2.5);
70  ksEffVsPt_num = ibooker.book1D("K0sEffVsPt_num",
71  "K^{0}_{S} Efficiency vs p_{T}", 70, 0., 20.);;
72 
73  ksTkEffVsR_num = ibooker.book1D("K0sTkEffVsR_num",
74  "K^{0}_{S} Tracking Efficiency vs #rho", 40, 0., 40.);
75  ksTkEffVsEta_num = ibooker.book1D("K0sTkEffVsEta_num",
76  "K^{0}_{S} Tracking Efficiency vs #eta", 40, -2.5, 2.5);
77  ksTkEffVsPt_num = ibooker.book1D("K0sTkEffVsPt_num",
78  "K^{0}_{S} Tracking Efficiency vs p_{T}", 70, 0., 20.);;
79 
80  ksEffVsR_denom = ibooker.book1D("K0sEffVsR_denom",
81  "K^{0}_{S} Efficiency vs #rho", 40, 0., 40.);
82  ksEffVsEta_denom = ibooker.book1D("K0sEffVsEta_denom",
83  "K^{0}_{S} Efficiency vs #eta", 40, -2.5, 2.5);
84  ksEffVsPt_denom = ibooker.book1D("K0sEffVsPt_denom",
85  "K^{0}_{S} Efficiency vs p_{T}", 70, 0., 20.);;
86 
87  lamEffVsR = ibooker.book1D("LamEffVsR",
88  "#Lambda^{0} Efficiency vs #rho", 40, 0., 40.);
89  lamEffVsEta = ibooker.book1D("LamEffVsEta",
90  "#Lambda^{0} Efficiency vs #eta", 40, -2.5, 2.5);
91  lamEffVsPt = ibooker.book1D("LamEffVsPt",
92  "#Lambda^{0} Efficiency vs p_{T}", 70, 0., 20.);
93 
94  lamTkEffVsR = ibooker.book1D("LamTkEffVsR",
95  "#Lambda^{0} TrackingEfficiency vs #rho", 40, 0., 40.);
96  lamTkEffVsEta = ibooker.book1D("LamTkEffVsEta",
97  "#Lambda^{0} Tracking Efficiency vs #eta", 40, -2.5, 2.5);
98  lamTkEffVsPt = ibooker.book1D("LamTkEffVsPt",
99  "#Lambda^{0} Tracking Efficiency vs p_{T}", 70, 0., 20.);
100 
101  lamEffVsR_num = ibooker.book1D("LamEffVsR_num",
102  "#Lambda^{0} Efficiency vs #rho", 40, 0., 40.);
103  lamEffVsEta_num = ibooker.book1D("LamEffVsEta_num",
104  "#Lambda^{0} Efficiency vs #eta", 40, -2.5, 2.5);
105  lamEffVsPt_num = ibooker.book1D("LamEffVsPt_num",
106  "#Lambda^{0} Efficiency vs p_{T}", 70, 0., 20.);
107 
108  lamTkEffVsR_num = ibooker.book1D("LamTkEffVsR_num",
109  "#Lambda^{0} TrackingEfficiency vs #rho", 40, 0., 40.);
110  lamTkEffVsEta_num = ibooker.book1D("LamTkEffVsEta_num",
111  "#Lambda^{0} Tracking Efficiency vs #eta", 40, -2.5, 2.5);
112  lamTkEffVsPt_num = ibooker.book1D("LamTkEffVsPt_num",
113  "#Lambda^{0} Tracking Efficiency vs p_{T}", 70, 0., 20.);
114 
115  lamEffVsR_denom = ibooker.book1D("LamEffVsR_denom",
116  "#Lambda^{0} Efficiency vs #rho", 40, 0., 40.);
117  lamEffVsEta_denom = ibooker.book1D("LamEffVsEta_denom",
118  "#Lambda^{0} Efficiency vs #eta", 40, -2.5, 2.5);
119  lamEffVsPt_denom = ibooker.book1D("LamEffVsPt_denom",
120  "#Lambda^{0} Efficiency vs p_{T}", 70, 0., 20.);
121 
122  ksFakeVsR = ibooker.book1D("K0sFakeVsR",
123  "K^{0}_{S} Fake Rate vs #rho", 40, 0., 40.);
124  ksFakeVsEta = ibooker.book1D("K0sFakeVsEta",
125  "K^{0}_{S} Fake Rate vs #eta", 40, -2.5, 2.5);
126  ksFakeVsPt = ibooker.book1D("K0sFakeVsPt",
127  "K^{0}_{S} Fake Rate vs p_{T}", 70, 0., 20.);
128  ksTkFakeVsR = ibooker.book1D("K0sTkFakeVsR",
129  "K^{0}_{S} Tracking Fake Rate vs #rho", 40, 0., 40.);
130  ksTkFakeVsEta = ibooker.book1D("K0sTkFakeVsEta",
131  "K^{0}_{S} Tracking Fake Rate vs #eta", 40, -2.5, 2.5);
132  ksTkFakeVsPt = ibooker.book1D("K0sTkFakeVsPt",
133  "K^{0}_{S} Tracking Fake Rate vs p_{T}", 70, 0., 20.);
134 
135  ksFakeVsR_num = ibooker.book1D("K0sFakeVsR_num",
136  "K^{0}_{S} Fake Rate vs #rho", 40, 0., 40.);
137  ksFakeVsEta_num = ibooker.book1D("K0sFakeVsEta_num",
138  "K^{0}_{S} Fake Rate vs #eta", 40, -2.5, 2.5);
139  ksFakeVsPt_num = ibooker.book1D("K0sFakeVsPt_num",
140  "K^{0}_{S} Fake Rate vs p_{T}", 70, 0., 20.);
141  ksTkFakeVsR_num = ibooker.book1D("K0sTkFakeVsR_num",
142  "K^{0}_{S} Tracking Fake Rate vs #rho", 40, 0., 40.);
143  ksTkFakeVsEta_num = ibooker.book1D("K0sTkFakeVsEta_num",
144  "K^{0}_{S} Tracking Fake Rate vs #eta", 40, -2.5, 2.5);
145  ksTkFakeVsPt_num = ibooker.book1D("K0sTkFakeVsPt_num",
146  "K^{0}_{S} Tracking Fake Rate vs p_{T}", 70, 0., 20.);
147 
148  ksFakeVsR_denom = ibooker.book1D("K0sFakeVsR_denom",
149  "K^{0}_{S} Fake Rate vs #rho", 40, 0., 40.);
150  ksFakeVsEta_denom = ibooker.book1D("K0sFakeVsEta_denom",
151  "K^{0}_{S} Fake Rate vs #eta", 40, -2.5, 2.5);
152  ksFakeVsPt_denom = ibooker.book1D("K0sFakeVsPt_denom",
153  "K^{0}_{S} Fake Rate vs p_{T}", 70, 0., 20.);
154 
155  lamFakeVsR = ibooker.book1D("LamFakeVsR",
156  "#Lambda^{0} Fake Rate vs #rho", 40, 0., 40.);
157  lamFakeVsEta = ibooker.book1D("LamFakeVsEta",
158  "#Lambda^{0} Fake Rate vs #eta", 40, -2.5, 2.5);
159  lamFakeVsPt = ibooker.book1D("LamFakeVsPt",
160  "#Lambda^{0} Fake Rate vs p_{T}", 70, 0., 20.);
161  lamTkFakeVsR = ibooker.book1D("LamTkFakeVsR",
162  "#Lambda^{0} Tracking Fake Rate vs #rho", 40, 0., 40.);
163  lamTkFakeVsEta = ibooker.book1D("LamTkFakeVsEta",
164  "#Lambda^{0} Tracking Fake Rate vs #eta", 40, -2.5, 2.5);
165  lamTkFakeVsPt = ibooker.book1D("LamTkFakeVsPt",
166  "#Lambda^{0} Tracking Fake Rate vs p_{T}", 70, 0., 20.);
167 
168  lamFakeVsR_num = ibooker.book1D("LamFakeVsR_num",
169  "#Lambda^{0} Fake Rate vs #rho", 40, 0., 40.);
170  lamFakeVsEta_num = ibooker.book1D("LamFakeVsEta_num",
171  "#Lambda^{0} Fake Rate vs #eta", 40, -2.5, 2.5);
172  lamFakeVsPt_num = ibooker.book1D("LamFakeVsPt_num",
173  "#Lambda^{0} Fake Rate vs p_{T}", 70, 0., 20.);
174  lamTkFakeVsR_num = ibooker.book1D("LamTkFakeVsR_num",
175  "#Lambda^{0} Tracking Fake Rate vs #rho", 40, 0., 40.);
176  lamTkFakeVsEta_num = ibooker.book1D("LamTkFakeVsEta_num",
177  "#Lambda^{0} Tracking Fake Rate vs #eta", 40, -2.5, 2.5);
178  lamTkFakeVsPt_num = ibooker.book1D("LamTkFakeVsPt_num",
179  "#Lambda^{0} Tracking Fake Rate vs p_{T}", 70, 0., 20.);
180 
181  lamFakeVsR_denom = ibooker.book1D("LamFakeVsR_denom",
182  "#Lambda^{0} Fake Rate vs #rho", 40, 0., 40.);
183  lamFakeVsEta_denom = ibooker.book1D("LamFakeVsEta_denom",
184  "#Lambda^{0} Fake Rate vs #eta", 40, -2.5, 2.5);
185  lamFakeVsPt_denom = ibooker.book1D("LamFakeVsPt_denom",
186  "#Lambda^{0} Fake Rate vs p_{T}", 70, 0., 20.);
187 
188  ibooker.cd();
189  subDirName = dirName + "/Other";
190  ibooker.setCurrentFolder(subDirName.c_str());
191 
192  nKs = ibooker.book1D("nK0s",
193  "Number of K^{0}_{S} found per event", 60, 0., 60.);
194  nLam = ibooker.book1D("nLam",
195  "Number of #Lambda^{0} found per event", 60, 0., 60.);
196 
197  ksXResolution = ibooker.book1D("ksXResolution",
198  "Resolution of V0 decay vertex X coordinate", 50, 0., 50.);
199  ksYResolution = ibooker.book1D("ksYResolution",
200  "Resolution of V0 decay vertex Y coordinate", 50, 0., 50.);
201  ksZResolution = ibooker.book1D("ksZResolution",
202  "Resolution of V0 decay vertex Z coordinate", 50, 0., 50.);
203  lamXResolution = ibooker.book1D("lamXResolution",
204  "Resolution of V0 decay vertex X coordinate", 50, 0., 50.);
205  lamYResolution = ibooker.book1D("lamYResolution",
206  "Resolution of V0 decay vertex Y coordinate", 50, 0., 50.);
207  lamZResolution = ibooker.book1D("lamZResolution",
208  "Resolution of V0 decay vertex Z coordinate", 50, 0., 50.);
209  ksAbsoluteDistResolution = ibooker.book1D("ksRResolution",
210  "Resolution of absolute distance from primary vertex to V0 vertex",
211  100, 0., 50.);
212  lamAbsoluteDistResolution = ibooker.book1D("lamRResolution",
213  "Resolution of absolute distance from primary vertex to V0 vertex",
214  100, 0., 50.);
215 
216  ksCandStatus = ibooker.book1D("ksCandStatus",
217  "Fake type by cand status",
218  10, 0., 10.);
219  lamCandStatus = ibooker.book1D("ksCandStatus",
220  "Fake type by cand status",
221  10, 0., 10.);
222 
223  double minKsMass = 0.49767 - 0.07;
224  double maxKsMass = 0.49767 + 0.07;
225  double minLamMass = 1.1156 - 0.05;
226  double maxLamMass = 1.1156 + 0.05;
227  int ksMassNbins = 100;
228  double ksMassXmin = minKsMass;
229  double ksMassXmax = maxKsMass;
230  int lamMassNbins = 100;
231  double lamMassXmin = minLamMass;
232  double lamMassXmax = maxLamMass;
233 
234  fakeKsMass = ibooker.book1D("ksMassFake",
235  "Mass of fake K0S",
236  ksMassNbins, minKsMass, maxKsMass);
237  goodKsMass = ibooker.book1D("ksMassGood",
238  "Mass of good reco K0S",
239  ksMassNbins, minKsMass, maxKsMass);
240  fakeLamMass = ibooker.book1D("lamMassFake",
241  "Mass of fake Lambda",
242  lamMassNbins, minLamMass, maxLamMass);
243  goodLamMass = ibooker.book1D("lamMassGood",
244  "Mass of good Lambda",
245  lamMassNbins, minLamMass, maxLamMass);
246 
247  ksMassAll = ibooker.book1D("ksMassAll",
248  "Invariant mass of all K0S",
249  ksMassNbins, ksMassXmin, ksMassXmax);
250  lamMassAll = ibooker.book1D("lamMassAll",
251  "Invariant mass of all #Lambda^{0}",
252  lamMassNbins, lamMassXmin, lamMassXmax);
253 
254  ksFakeDauRadDist = ibooker.book1D("radDistFakeKs",
255  "Production radius of daughter particle of Ks fake",
256  100, 0., 15.);
257  lamFakeDauRadDist = ibooker.book1D("radDistFakeLam",
258  "Production radius of daughter particle of Lam fake",
259  100, 0., 15.);
260 }
MonitorElement * ksTkFakeVsPt
Definition: V0Validator.h:115
MonitorElement * nLam
Definition: V0Validator.h:180
MonitorElement * lamTkFakeVsR_num
Definition: V0Validator.h:166
MonitorElement * ksEffVsR
Definition: V0Validator.h:104
void cd(void)
Definition: DQMStore.cc:266
MonitorElement * ksFakeVsPt_denom
Definition: V0Validator.h:132
MonitorElement * lamTkEffVsR
Definition: V0Validator.h:147
MonitorElement * lamFakeVsPt
Definition: V0Validator.h:152
MonitorElement * ksTkFakeVsEta
Definition: V0Validator.h:114
MonitorElement * ksFakeVsR_denom
Definition: V0Validator.h:130
MonitorElement * ksFakeVsEta_num
Definition: V0Validator.h:124
MonitorElement * lamEffVsEta_num
Definition: V0Validator.h:158
MonitorElement * lamFakeVsPt_denom
Definition: V0Validator.h:139
MonitorElement * ksEffVsR_num
Definition: V0Validator.h:117
MonitorElement * ksFakeVsPt_num
Definition: V0Validator.h:125
MonitorElement * lamFakeVsR_denom
Definition: V0Validator.h:137
MonitorElement * lamEffVsPt_denom
Definition: V0Validator.h:142
MonitorElement * lamEffVsPt_num
Definition: V0Validator.h:159
MonitorElement * lamTkFakeVsR
Definition: V0Validator.h:153
MonitorElement * lamFakeVsR
Definition: V0Validator.h:150
MonitorElement * ksFakeVsEta
Definition: V0Validator.h:111
MonitorElement * lamZResolution
Definition: V0Validator.h:176
MonitorElement * lamFakeDauRadDist
Definition: V0Validator.h:195
MonitorElement * lamTkEffVsEta
Definition: V0Validator.h:148
MonitorElement * lamEffVsR
Definition: V0Validator.h:144
MonitorElement * ksFakeVsEta_denom
Definition: V0Validator.h:131
MonitorElement * fakeLamMass
Definition: V0Validator.h:187
MonitorElement * ksFakeDauRadDist
Definition: V0Validator.h:194
MonitorElement * lamTkFakeVsEta_num
Definition: V0Validator.h:167
MonitorElement * lamTkFakeVsPt
Definition: V0Validator.h:155
MonitorElement * ksEffVsPt_denom
Definition: V0Validator.h:135
MonitorElement * ksTkFakeVsEta_num
Definition: V0Validator.h:127
MonitorElement * ksTkEffVsR_num
Definition: V0Validator.h:120
MonitorElement * lamFakeVsEta_denom
Definition: V0Validator.h:138
MonitorElement * lamXResolution
Definition: V0Validator.h:174
MonitorElement * ksEffVsEta_denom
Definition: V0Validator.h:134
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * lamTkEffVsPt
Definition: V0Validator.h:149
MonitorElement * goodKsMass
Definition: V0Validator.h:186
MonitorElement * fakeKsMass
Definition: V0Validator.h:185
MonitorElement * ksTkEffVsPt
Definition: V0Validator.h:109
MonitorElement * goodLamMass
Definition: V0Validator.h:188
MonitorElement * ksFakeVsPt
Definition: V0Validator.h:112
MonitorElement * lamTkFakeVsEta
Definition: V0Validator.h:154
MonitorElement * ksMassAll
Definition: V0Validator.h:190
MonitorElement * lamTkEffVsR_num
Definition: V0Validator.h:160
MonitorElement * ksTkEffVsR
Definition: V0Validator.h:107
MonitorElement * nKs
Definition: V0Validator.h:179
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * lamTkEffVsEta_num
Definition: V0Validator.h:161
MonitorElement * ksXResolution
Definition: V0Validator.h:170
MonitorElement * lamEffVsEta_denom
Definition: V0Validator.h:141
MonitorElement * lamFakeVsEta
Definition: V0Validator.h:151
MonitorElement * ksAbsoluteDistResolution
Definition: V0Validator.h:173
MonitorElement * ksCandStatus
Definition: V0Validator.h:182
MonitorElement * lamCandStatus
Definition: V0Validator.h:183
MonitorElement * lamEffVsEta
Definition: V0Validator.h:145
MonitorElement * lamTkFakeVsPt_num
Definition: V0Validator.h:168
MonitorElement * lamFakeVsEta_num
Definition: V0Validator.h:164
MonitorElement * ksTkEffVsPt_num
Definition: V0Validator.h:122
MonitorElement * lamFakeVsPt_num
Definition: V0Validator.h:165
MonitorElement * lamMassAll
Definition: V0Validator.h:191
MonitorElement * lamFakeVsR_num
Definition: V0Validator.h:163
MonitorElement * lamEffVsR_num
Definition: V0Validator.h:157
MonitorElement * ksFakeVsR
Definition: V0Validator.h:110
MonitorElement * ksEffVsEta
Definition: V0Validator.h:105
MonitorElement * lamTkEffVsPt_num
Definition: V0Validator.h:162
MonitorElement * lamAbsoluteDistResolution
Definition: V0Validator.h:177
MonitorElement * ksZResolution
Definition: V0Validator.h:172
MonitorElement * ksEffVsPt_num
Definition: V0Validator.h:119
MonitorElement * ksTkEffVsEta_num
Definition: V0Validator.h:121
MonitorElement * lamEffVsPt
Definition: V0Validator.h:146
MonitorElement * ksEffVsR_denom
Definition: V0Validator.h:133
MonitorElement * ksTkFakeVsPt_num
Definition: V0Validator.h:128
MonitorElement * ksTkEffVsEta
Definition: V0Validator.h:108
MonitorElement * ksFakeVsR_num
Definition: V0Validator.h:123
MonitorElement * ksEffVsEta_num
Definition: V0Validator.h:118
MonitorElement * lamYResolution
Definition: V0Validator.h:175
std::string dirName
Definition: V0Validator.h:199
MonitorElement * ksEffVsPt
Definition: V0Validator.h:106
MonitorElement * ksTkFakeVsR
Definition: V0Validator.h:113
MonitorElement * ksYResolution
Definition: V0Validator.h:171
MonitorElement * lamEffVsR_denom
Definition: V0Validator.h:140
MonitorElement * ksTkFakeVsR_num
Definition: V0Validator.h:126

Member Data Documentation

std::string V0Validator::dirName
private
MonitorElement* V0Validator::fakeKsMass
private

Definition at line 185 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::fakeLamMass
private

Definition at line 187 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

int V0Validator::genK0s
private

Definition at line 100 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

int V0Validator::genLam
private

Definition at line 100 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

MonitorElement* V0Validator::goodKsMass
private

Definition at line 186 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::goodLamMass
private

Definition at line 188 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

float V0Validator::K0sCandEta
private

Definition at line 95 of file V0Validator.h.

Referenced by analyze().

int V0Validator::k0sCandFound
private

Definition at line 101 of file V0Validator.h.

Referenced by V0Validator().

float V0Validator::K0sCandpT
private

Definition at line 95 of file V0Validator.h.

Referenced by analyze().

float V0Validator::K0sCandR
private

Definition at line 95 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::K0sCandStatus
private

Definition at line 96 of file V0Validator.h.

Referenced by analyze().

float V0Validator::K0sGenEta
private

Definition at line 93 of file V0Validator.h.

Referenced by analyze().

float V0Validator::K0sGenpT
private

Definition at line 93 of file V0Validator.h.

Referenced by analyze().

float V0Validator::K0sGenR
private

Definition at line 93 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::K0sGenStatus
private

Definition at line 96 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::K0sPiCandStatus[2]
private

Definition at line 97 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::K0sPiEff[2]
private

Definition at line 97 of file V0Validator.h.

Referenced by analyze().

int V0Validator::k0sTracksFound
private

Definition at line 101 of file V0Validator.h.

Referenced by analyze().

MonitorElement* V0Validator::ksAbsoluteDistResolution
private

Definition at line 173 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksCandStatus
private

Definition at line 182 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksEffVsEta
private

Definition at line 105 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksEffVsEta_denom
private

Definition at line 134 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksEffVsEta_num
private

Definition at line 118 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksEffVsPt
private

Definition at line 106 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksEffVsPt_denom
private

Definition at line 135 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksEffVsPt_num
private

Definition at line 119 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksEffVsR
private

Definition at line 104 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksEffVsR_denom
private

Definition at line 133 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksEffVsR_num
private

Definition at line 117 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeDauRadDist
private

Definition at line 194 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeVsEta
private

Definition at line 111 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksFakeVsEta_denom
private

Definition at line 131 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeVsEta_num
private

Definition at line 124 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeVsPt
private

Definition at line 112 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksFakeVsPt_denom
private

Definition at line 132 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeVsPt_num
private

Definition at line 125 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeVsR
private

Definition at line 110 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksFakeVsR_denom
private

Definition at line 130 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksFakeVsR_num
private

Definition at line 123 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

float V0Validator::KsGenX
private

Definition at line 94 of file V0Validator.h.

float V0Validator::KsGenY
private

Definition at line 94 of file V0Validator.h.

float V0Validator::KsGenZ
private

Definition at line 94 of file V0Validator.h.

MonitorElement* V0Validator::ksMassAll
private

Definition at line 190 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksTkEffVsEta
private

Definition at line 108 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksTkEffVsEta_num
private

Definition at line 121 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksTkEffVsPt
private

Definition at line 109 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksTkEffVsPt_num
private

Definition at line 122 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksTkEffVsR
private

Definition at line 107 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksTkEffVsR_num
private

Definition at line 120 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksTkFakeVsEta
private

Definition at line 114 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksTkFakeVsEta_num
private

Definition at line 127 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksTkFakeVsPt
private

Definition at line 115 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksTkFakeVsPt_num
private

Definition at line 128 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksTkFakeVsR
private

Definition at line 113 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksTkFakeVsR_num
private

Definition at line 126 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::ksXResolution
private

Definition at line 170 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksYResolution
private

Definition at line 171 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::ksZResolution
private

Definition at line 172 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamAbsoluteDistResolution
private

Definition at line 177 of file V0Validator.h.

Referenced by bookHistograms().

float V0Validator::LamCandEta
private

Definition at line 95 of file V0Validator.h.

Referenced by analyze().

int V0Validator::lamCandFound
private

Definition at line 101 of file V0Validator.h.

Referenced by V0Validator().

float V0Validator::LamCandpT
private

Definition at line 95 of file V0Validator.h.

Referenced by analyze().

float V0Validator::LamCandR
private

Definition at line 95 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::LamCandStatus
private

Definition at line 96 of file V0Validator.h.

Referenced by analyze().

MonitorElement* V0Validator::lamCandStatus
private

Definition at line 183 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamEffVsEta
private

Definition at line 145 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamEffVsEta_denom
private

Definition at line 141 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamEffVsEta_num
private

Definition at line 158 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamEffVsPt
private

Definition at line 146 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamEffVsPt_denom
private

Definition at line 142 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamEffVsPt_num
private

Definition at line 159 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamEffVsR
private

Definition at line 144 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamEffVsR_denom
private

Definition at line 140 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamEffVsR_num
private

Definition at line 157 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeDauRadDist
private

Definition at line 195 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeVsEta
private

Definition at line 151 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamFakeVsEta_denom
private

Definition at line 138 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeVsEta_num
private

Definition at line 164 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeVsPt
private

Definition at line 152 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamFakeVsPt_denom
private

Definition at line 139 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeVsPt_num
private

Definition at line 165 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeVsR
private

Definition at line 150 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamFakeVsR_denom
private

Definition at line 137 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamFakeVsR_num
private

Definition at line 163 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

float V0Validator::LamGenEta
private

Definition at line 93 of file V0Validator.h.

Referenced by analyze().

float V0Validator::LamGenpT
private

Definition at line 93 of file V0Validator.h.

Referenced by analyze().

float V0Validator::LamGenR
private

Definition at line 93 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::LamGenStatus
private

Definition at line 96 of file V0Validator.h.

Referenced by analyze().

float V0Validator::LamGenX
private

Definition at line 94 of file V0Validator.h.

float V0Validator::LamGenY
private

Definition at line 94 of file V0Validator.h.

float V0Validator::LamGenZ
private

Definition at line 94 of file V0Validator.h.

MonitorElement* V0Validator::lamMassAll
private

Definition at line 191 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

unsigned int V0Validator::LamPiCandStatus[2]
private

Definition at line 97 of file V0Validator.h.

Referenced by analyze().

unsigned int V0Validator::LamPiEff[2]
private

Definition at line 97 of file V0Validator.h.

Referenced by analyze().

MonitorElement* V0Validator::lamTkEffVsEta
private

Definition at line 148 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamTkEffVsEta_num
private

Definition at line 161 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamTkEffVsPt
private

Definition at line 149 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamTkEffVsPt_num
private

Definition at line 162 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamTkEffVsR
private

Definition at line 147 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamTkEffVsR_num
private

Definition at line 160 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamTkFakeVsEta
private

Definition at line 154 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamTkFakeVsEta_num
private

Definition at line 167 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamTkFakeVsPt
private

Definition at line 155 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamTkFakeVsPt_num
private

Definition at line 168 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::lamTkFakeVsR
private

Definition at line 153 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamTkFakeVsR_num
private

Definition at line 166 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

int V0Validator::lamTracksFound
private

Definition at line 101 of file V0Validator.h.

MonitorElement* V0Validator::lamXResolution
private

Definition at line 174 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamYResolution
private

Definition at line 175 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::lamZResolution
private

Definition at line 176 of file V0Validator.h.

Referenced by bookHistograms().

MonitorElement* V0Validator::nKs
private

Definition at line 179 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* V0Validator::nLam
private

Definition at line 180 of file V0Validator.h.

Referenced by analyze(), and bookHistograms().

int V0Validator::noTPforK0sCand
private

Definition at line 101 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

int V0Validator::noTPforLamCand
private

Definition at line 101 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

int V0Validator::realK0sFound
private

Definition at line 100 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

int V0Validator::realK0sFoundEff
private

Definition at line 100 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

int V0Validator::realLamFound
private

Definition at line 100 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

int V0Validator::realLamFoundEff
private

Definition at line 100 of file V0Validator.h.

Referenced by analyze(), and V0Validator().

edm::EDGetTokenT<reco::RecoToSimCollection> V0Validator::recoRecoToSimCollectionToken_
private

Definition at line 200 of file V0Validator.h.

Referenced by analyze().

edm::EDGetTokenT<reco::SimToRecoCollection> V0Validator::recoSimToRecoCollectionToken_
private

Definition at line 201 of file V0Validator.h.

Referenced by analyze().

edm::EDGetTokenT<reco::VertexCompositeCandidateCollection> V0Validator::recoVertexCompositeCandidateCollection_k0s_Token_
private

Definition at line 204 of file V0Validator.h.

Referenced by analyze().

edm::EDGetTokenT<reco::VertexCompositeCandidateCollection> V0Validator::recoVertexCompositeCandidateCollection_lambda_Token_
private

Definition at line 204 of file V0Validator.h.

Referenced by analyze().

std::string V0Validator::theDQMRootFileName
private

Definition at line 198 of file V0Validator.h.

edm::EDGetTokenT<TrackingParticleCollection> V0Validator::trackingParticleCollection_Eff_Token_
private

Definition at line 202 of file V0Validator.h.

Referenced by analyze().

edm::EDGetTokenT< std::vector<reco::Vertex> > V0Validator::vec_recoVertex_Token_
private

Definition at line 203 of file V0Validator.h.

Referenced by analyze().