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
SVTagInfoValidationAnalyzer Class Reference
Inheritance diagram for SVTagInfoValidationAnalyzer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 SVTagInfoValidationAnalyzer (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- 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 bookRecoToSim (std::string const &)
 
void bookSimToReco (std::string const &)
 
virtual void endJob () override
 
void fillRecoToSim (std::string const &, reco::Vertex const &, TrackingVertexRef const &)
 
void fillSimToReco (std::string const &, reco::VertexBaseRef const &, TrackingVertexRef const &)
 

Private Attributes

VertexClassifierByProxy
< reco::SecondaryVertexTagInfoCollection
classifier_
 
edm::Service< TFileServicefs_
 
Int_t n_event
 
Int_t numberVertexClassifier_
 
Int_t rs_total_nall
 
Int_t rs_total_nbsv
 
Int_t rs_total_nbv
 
Int_t rs_total_ncv
 
Int_t rs_total_nlv
 
Int_t rs_total_nsv
 
Int_t sr_total_nall
 
Int_t sr_total_nbsv
 
Int_t sr_total_nbv
 
Int_t sr_total_ncv
 
Int_t sr_total_nlv
 
Int_t sr_total_nsv
 
edm::InputTag svTagInfoProducer_
 
std::map< std::string, TH1D * > TH1Index_
 
Int_t total_nfake
 
Int_t total_nmiss
 
edm::InputTag trackingTruth_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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

Definition at line 37 of file SVTagInfoValidationAnalyzer.cc.

Constructor & Destructor Documentation

SVTagInfoValidationAnalyzer::SVTagInfoValidationAnalyzer ( const edm::ParameterSet config)
explicit

Definition at line 91 of file SVTagInfoValidationAnalyzer.cc.

References bookRecoToSim(), bookSimToReco(), fs_, edm::ParameterSet::getUntrackedParameter(), i, TFileService::make(), n_event, VertexCategories::Names, numberVertexClassifier_, rs_total_nall, rs_total_nbsv, rs_total_nbv, rs_total_ncv, rs_total_nlv, rs_total_nsv, sr_total_nall, sr_total_nbsv, sr_total_nbv, sr_total_ncv, sr_total_nlv, sr_total_nsv, svTagInfoProducer_, TH1Index_, total_nfake, total_nmiss, trackingTruth_, and VertexCategories::Unknown.

91  : classifier_(config, consumesCollector())
92 {
93  //Initialize counters
94  n_event = 0;
95  rs_total_nall = 0;
96  rs_total_nsv = 0;
97  rs_total_nbv = 0;
98  rs_total_nbsv = 0;
99  rs_total_ncv = 0;
100  rs_total_nlv = 0;
101  total_nfake = 0;
102 
103  sr_total_nall = 0;
104  sr_total_nsv = 0;
105  sr_total_nbv = 0;
106  sr_total_nbsv = 0;
107  sr_total_ncv = 0;
108  sr_total_nlv = 0;
109  total_nmiss = 0;
110 
111  // Get the track collection
112  svTagInfoProducer_ = config.getUntrackedParameter<edm::InputTag> ( "svTagInfoProducer" );
113  consumes<reco::SecondaryVertexTagInfoCollection>(svTagInfoProducer_);
114 
115  // Name of the traking pariticle collection
116  trackingTruth_ = config.getUntrackedParameter<edm::InputTag> ( "trackingTruth" );
117  consumes<TrackingVertexCollection>(trackingTruth_);
118 
119  // Number of track categories
121 
122  // Define histogram for counting categories
123  TH1Index_["VertexClassifier"] = fs_->make<TH1D>(
124  "VertexClassifier",
125  "Frequency for the different track categories",
127  -0.5,
128  numberVertexClassifier_ - 0.5
129  );
130 
131  //--- RecoToSim
132  TH1Index_["rs_All_MatchQuality"]= fs_->make<TH1D>( "rs_All_MatchQuality", "Quality of Match", 51, -0.01, 1.01 );
133  TH1Index_["rs_All_FlightDistance2d"]= fs_->make<TH1D>( "rs_All_FlightDistance2d", "Transverse flight distance [cm]", 100, 0, 5 );
134  TH1Index_["rs_SecondaryVertex_FlightDistance2d"]= fs_->make<TH1D>( "rs_SecondaryVertex_FlightDistance2d", "Transverse flight distance [cm]", 100, 0, 5 );
135  TH1Index_["rs_BSV_FlightDistance2d"]= fs_->make<TH1D>( "rs_BSV_FlightDistance2d", "Transverse flight distance [cm]", 100, 0, 5 );
136  TH1Index_["rs_BWeakDecay_FlightDistance2d"]= fs_->make<TH1D>( "rs_BWeakDecay_FlightDistance2d", "Transverse flight distance [cm]", 100, 0, 5 );
137  TH1Index_["rs_CWeakDecay_FlightDistance2d"]= fs_->make<TH1D>( "rs_CWeakDecay_FlightDistance2d", "Transverse flight distance [cm]", 100, 0, 5 );
138  TH1Index_["rs_Light_FlightDistance2d"]= fs_->make<TH1D>( "rs_Light_FlightDistance2d", "Transverse flight distance [cm]", 100, 0, 5 );
139 
140  TH1Index_["rs_All_nRecVtx"]= fs_->make<TH1D>( "rs_All_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
141  TH1Index_["rs_SecondaryVertex_nRecVtx"]= fs_->make<TH1D>( "rs_SecondaryVertex_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
142  TH1Index_["rs_BSV_nRecVtx"]= fs_->make<TH1D>( "rs_BSV_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
143  TH1Index_["rs_BWeakDecay_nRecVtx"]= fs_->make<TH1D>( "rs_BWeakDecay_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
144  TH1Index_["rs_CWeakDecay_nRecVtx"]= fs_->make<TH1D>( "rs_CWeakDecay_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
145  TH1Index_["rs_Light_nRecVtx"]= fs_->make<TH1D>( "rs_Light_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
146 
147 
148  //--- SimToReco
149  TH1Index_["sr_All_MatchQuality"]= fs_->make<TH1D>( "sr_All_MatchQuality", "Quality of Match", 51, -0.01, 1.01);
150  TH1Index_["sr_All_nRecVtx"]= fs_->make<TH1D>( "sr_All_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
151  TH1Index_["sr_SecondaryVertex_nRecVtx"]= fs_->make<TH1D>( "sr_SecondaryVertex_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
152  TH1Index_["sr_BSV_nRecVtx"]= fs_->make<TH1D>( "sr_BSV_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
153  TH1Index_["sr_BWeakDecay_nRecVtx"]= fs_->make<TH1D>( "sr_BWeakDecay_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
154  TH1Index_["sr_CWeakDecay_nRecVtx"]= fs_->make<TH1D>( "sr_CWeakDecay_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
155  TH1Index_["sr_Light_nRecVtx"]= fs_->make<TH1D>( "sr_Light_nRecVtx", "Number of Vertices per event", 11, -0.5, 10.5 );
156 
157 
158  // Set the proper categories names
159  for (Int_t i = 0; i < numberVertexClassifier_; ++i)
160  TH1Index_["VertexClassifier"]->GetXaxis()->SetBinLabel(i+1, VertexCategories::Names[i]);
161 
162  // book histograms
163  bookRecoToSim("rs_All");
164  bookRecoToSim("rs_SecondaryVertex");
165  bookRecoToSim("rs_BSV");
166  bookRecoToSim("rs_BWeakDecay");
167  bookRecoToSim("rs_CWeakDecay");
168  bookRecoToSim("rs_Light");
169 
170  bookSimToReco("sr_All");
171  bookSimToReco("sr_SecondaryVertex");
172  bookSimToReco("sr_BSV");
173  bookSimToReco("sr_BWeakDecay");
174  bookSimToReco("sr_CWeakDecay");
175  bookSimToReco("sr_Light");
176 }
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
void bookSimToReco(std::string const &)
std::map< std::string, TH1D * > TH1Index_
void bookRecoToSim(std::string const &)
VertexClassifierByProxy< reco::SecondaryVertexTagInfoCollection > classifier_
static const char *const Names[]
Name of the different categories.

Member Function Documentation

void SVTagInfoValidationAnalyzer::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 179 of file SVTagInfoValidationAnalyzer.cc.

References VertexCategories::BWeakDecay, classifier_, gather_cfg::cout, VertexCategories::CWeakDecay, VertexClassifierByProxy< Collection >::evaluate(), VertexCategories::Fake, fillRecoToSim(), fillSimToReco(), VertexClassifier::history(), i, cmsHarvester::index, VertexCategories::is(), n_event, VertexClassifierByProxy< Collection >::newEvent(), numberVertexClassifier_, VertexHistory::quality(), VertexCategories::Reconstructed, VertexHistory::recoVertex(), rs_total_nall, rs_total_nbsv, rs_total_nbv, rs_total_ncv, rs_total_nlv, rs_total_nsv, VertexCategories::SecondaryVertex, HistoryBase::simVertex(), sr_total_nall, sr_total_nbsv, sr_total_nbv, sr_total_ncv, sr_total_nlv, sr_total_nsv, svTagInfoProducer_, TH1Index_, total_nfake, total_nmiss, and trackingTruth_.

180 {
181  ++n_event;
182 
183  std::cout << "*** Analyzing " << event.id() << " n_event = " << n_event << std::endl << std::endl;
184 
185  // Set the classifier for a new event
186  classifier_.newEvent(event, setup);
187 
188 
189  // Vertex collection
191  event.getByLabel(svTagInfoProducer_, svTagInfoCollection);
192 
193  // Get a constant reference to the track history associated to the classifier
194  VertexHistory const & tracer = classifier_.history();
195 
196  cout << "* Event " << n_event << " ; svTagInfoCollection->size() = " << svTagInfoCollection->size() << endl;
197 
198  int rs_nall = 0;
199  int rs_nsv = 0;
200  int rs_nbv = 0;
201  int rs_nbsv = 0;
202  int rs_ncv = 0;
203  int rs_nlv = 0;
204  int nfake = 0;
205 
206  int sr_nall = 0;
207  int sr_nsv = 0;
208  int sr_nbv = 0;
209  int sr_nbsv = 0;
210  int sr_ncv = 0;
211  int sr_nlv = 0;
212  int nmiss = 0;
213 
214  // Loop over the svTagInfo collection.
215  for (std::size_t index = 0; index < svTagInfoCollection->size(); ++index){
216 
217  reco::SecondaryVertexTagInfoRef svTagInfo(svTagInfoCollection, index);
218 
219  // Loop over the vertexes in svTagInfo
220  for ( std::size_t vindex = 0; vindex < svTagInfo->nVertices(); ++vindex ){
221 
222 
223  // Classify the vertices
224  classifier_.evaluate(svTagInfo, vindex);
225 
226  //quality of the match
227  double rs_quality = tracer.quality();
228 
229 
230  // Fill the histogram with the categories
231  for (Int_t i = 0; i != numberVertexClassifier_; ++i) {
232 
234 
235  TH1Index_["VertexClassifier"]->Fill(i);
236  }
237  }
239 
240  cout << "R2S: MatchQuality = " << rs_quality << endl;
241 
242  TH1Index_["rs_All_MatchQuality"]->Fill( rs_quality );
243  fillRecoToSim("rs_All", svTagInfo->secondaryVertex(vindex), tracer.simVertex());
244  TH1Index_["rs_All_FlightDistance2d"]->Fill( svTagInfo->flightDistance( vindex, true ).value() );
245  rs_nall++;
246 
248 
249  //cout << " R2S VertexCategories::SecondaryVertex" << endl;
250  fillRecoToSim("rs_SecondaryVertex", svTagInfo->secondaryVertex(vindex), tracer.simVertex());
251  TH1Index_["rs_SecondaryVertex_FlightDistance2d"]->Fill( svTagInfo->flightDistance( vindex, true ).value() );
252  rs_nsv++;
253  }
254 
256 
257  //cout << " R2S VertexCategories::BWeakDecay" << endl;
258  fillRecoToSim("rs_BWeakDecay", svTagInfo->secondaryVertex(vindex), tracer.simVertex());
259  TH1Index_["rs_BWeakDecay_FlightDistance2d"]->Fill( svTagInfo->flightDistance( vindex, true ).value() );
260  rs_nbv++;
261 
263  //cout << " R2S VertexCategories::BWeakDecay SecondaryVertex" << endl;
264  fillRecoToSim("rs_BSV", svTagInfo->secondaryVertex(vindex), tracer.simVertex());
265  TH1Index_["rs_BSV_FlightDistance2d"]->Fill( svTagInfo->flightDistance( vindex, true ).value() );
266  rs_nbsv++;
267 
268  }
269  }//BWeakDecay
270 
272 
273  //cout << " R2S VertexCategories::CWeakDecay" << endl;
274  fillRecoToSim("rs_CWeakDecay", svTagInfo->secondaryVertex(vindex), tracer.simVertex());
275  TH1Index_["rs_CWeakDecay_FlightDistance2d"]->Fill( svTagInfo->flightDistance( vindex, true ).value() );
276  rs_ncv++;
277 
278  }
279  else {
280  //cout << " R2S Light (rest of categories)" << endl;
281  fillRecoToSim("rs_Light", svTagInfo->secondaryVertex(vindex), tracer.simVertex());
282  TH1Index_["rs_Light_FlightDistance2d"]->Fill( svTagInfo->flightDistance( vindex, true ).value() );
283  rs_nlv++;
284  }
285  }//end if classifier
286 
287  else {
288  cout << " VertexCategories::Fake!!" << endl;
289  nfake++;
290  }
291 
292  }//end loop over vertices in svTagInfo
293 
294  }//loop over svTagInfo
295 
296  TH1Index_["rs_All_nRecVtx"]->Fill( rs_nall );
297  TH1Index_["rs_SecondaryVertex_nRecVtx"]->Fill( rs_nsv );
298  TH1Index_["rs_BWeakDecay_nRecVtx"]->Fill( rs_nbv );
299  TH1Index_["rs_BSV_nRecVtx"]->Fill( rs_nbsv );
300  TH1Index_["rs_CWeakDecay_nRecVtx"]->Fill( rs_ncv );
301  TH1Index_["rs_Light_nRecVtx"]->Fill( rs_nlv );
302  cout << endl;
303 
304  //----------------------------------------------------------------
305  // SIM TO RECO!
306 
307  // Vertex collection
309  event.getByLabel(trackingTruth_, TVCollection);
310 
311  // Loop over the TV collection.
312  for (std::size_t index = 0; index < TVCollection->size(); ++index){
313 
314  TrackingVertexRef trackingVertex(TVCollection, index);
315 
316  classifier_.evaluate(trackingVertex);
317 
318  double sr_quality = tracer.quality();
319 
321 
322  cout << "S2R: MatchQuality = " << sr_quality << endl;
323 
324  //cout << " S2R VertexCategories::Reconstructed" << endl;
325  TH1Index_["sr_All_MatchQuality"]->Fill( sr_quality );
326  fillSimToReco("sr_All", tracer.recoVertex(), trackingVertex);
327  sr_nall++;
328 
330 
331  //cout << " S2R VertexCategories::Reconstructed::SecondaryVertex" << endl;
332  fillSimToReco("sr_SecondaryVertex", tracer.recoVertex(), trackingVertex);
333  sr_nsv++;
334  }
335 
337 
338  //cout << " S2R VertexCategories::Reconstructed::BWeakDecay" << endl;
339  fillSimToReco("sr_BWeakDecay", tracer.recoVertex(), trackingVertex);
340  sr_nbv++;
341 
343 
344  //cout << " S2R VertexCategories::Reconstructed::BWeakDecay SecondaryVertex" << endl;
345  fillSimToReco("sr_BSV", tracer.recoVertex(), trackingVertex);
346  sr_nbsv++;
347  }
348 
349  }//BWeakDecay
350 
352 
353  //cout << " S2R VertexCategories::CWeakDecay" << endl;
354  fillSimToReco("sr_CWeakDecay", tracer.recoVertex(), trackingVertex);
355  sr_ncv++;
356  }
357 
358  else {
359 
360  //cout << " S2R Light (rest of categories)" << endl;
361  fillSimToReco("sr_Light", tracer.recoVertex(), trackingVertex);
362  sr_nlv++;
363  }
364 
365  }//Reconstructed
366  else {
367  //cout << "##### Not reconstructed!" << endl;
368  nmiss++;
369  }
370 
371  }//TVCollection.size()
372 
373  TH1Index_["sr_All_nRecVtx"]->Fill( sr_nall );
374  TH1Index_["sr_SecondaryVertex_nRecVtx"]->Fill( sr_nsv );
375  TH1Index_["sr_BWeakDecay_nRecVtx"]->Fill( sr_nbv );
376  TH1Index_["sr_BSV_nRecVtx"]->Fill( sr_nbsv );
377  TH1Index_["sr_CWeakDecay_nRecVtx"]->Fill( sr_ncv );
378  TH1Index_["sr_Light_nRecVtx"]->Fill( rs_nlv );
379 
380  rs_total_nall += rs_nall;
381  rs_total_nsv += rs_nsv;
382  rs_total_nbv += rs_nbv;
383  rs_total_nbsv += rs_nbsv;
384  rs_total_ncv += rs_ncv ;
385  rs_total_nlv += rs_nlv;
386  total_nfake += nfake;
387 
388  sr_total_nall += sr_nall;
389  sr_total_nsv += sr_nsv;
390  sr_total_nbv += sr_nbv;
391  sr_total_nbsv += sr_nbsv;
392  sr_total_ncv += sr_ncv;
393  sr_total_nlv += sr_nlv;
394  total_nmiss += nmiss;
395 
396 
397 }
This class traces the simulated and generated history of a given track.
Definition: VertexHistory.h:18
int i
Definition: DBlmapReader.cc:9
VertexHistory const & history() const
Returns a reference to the vertex history used in the classification.
const reco::VertexBaseRef & recoVertex() const
Return a reference to the reconstructed track.
Definition: VertexHistory.h:64
void fillRecoToSim(std::string const &, reco::Vertex const &, TrackingVertexRef const &)
Category
Categories available to vertexes.
std::map< std::string, TH1D * > TH1Index_
bool is(Category category) const
Returns track flag for a given category.
const TrackingVertexRef & simVertex() const
Return the initial tracking vertex from the history.
Definition: HistoryBase.h:83
VertexClassifierByProxy< Collection > const & evaluate(TrackingVertexRef const &vertex)
Classify the TrackingVertex in categories.
void fillSimToReco(std::string const &, reco::VertexBaseRef const &, TrackingVertexRef const &)
VertexClassifierByProxy< reco::SecondaryVertexTagInfoCollection > classifier_
virtual void newEvent(edm::Event const &event, edm::EventSetup const &config)
Pre-process event information (for accessing reconstraction information).
tuple cout
Definition: gather_cfg.py:121
double quality() const
Return the quality of the match.
Definition: VertexHistory.h:70
void SVTagInfoValidationAnalyzer::bookRecoToSim ( std::string const &  prefix)
private

Definition at line 400 of file SVTagInfoValidationAnalyzer.cc.

References fs_, TFileService::make(), mergeVDriftHistosByStation::name, AlCaHLTBitMon_QueryRunRegistry::string, and TH1Index_.

Referenced by SVTagInfoValidationAnalyzer().

400  {
401  // Book pull histograms
402 
403  std::string name = prefix + "_Pullx";
404  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
405  name = prefix + "_Pully";
406  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
407  name = prefix + "_Pullz";
408  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
409 
410  name = prefix + "_Resx";
411  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
412  name = prefix + "_Resy";
413  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
414  name = prefix + "_Resz";
415  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
416 
417  name = prefix + "_Chi2Norm";
418  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0, 10.);
419  name = prefix + "_Chi2Prob";
420  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0., 1.);
421 
422  name = prefix + "_nRecTrks";
423  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
424 
425  name = prefix + "_AverageTrackWeight";
426  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.1, 1.1);
427 
428  name = prefix + "_Mass";
429  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 65, 0., 6.5);
430 
431  name = prefix + "_RecPt";
432  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
433 
434  name = prefix + "_RecEta";
435  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
436 
437  name = prefix + "_RecCharge";
438  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
439 
440  name = prefix + "_RecTrackPt";
441  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
442 
443  name = prefix + "_RecTrackEta";
444  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
445 
446  name = prefix + "_nSimTrks";
447  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
448 
449  name = prefix + "_SimPt";
450  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
451 
452  name = prefix + "_SimEta";
453  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
454 
455  name = prefix + "_SimCharge";
456  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
457 
458  name = prefix + "_SimTrackPt";
459  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 500, 0., 500.);
460 
461  name = prefix + "_SimTrackEta";
462  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
463 
464 
465 }
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs_
std::map< std::string, TH1D * > TH1Index_
void SVTagInfoValidationAnalyzer::bookSimToReco ( std::string const &  prefix)
private

Definition at line 468 of file SVTagInfoValidationAnalyzer.cc.

References fs_, TFileService::make(), mergeVDriftHistosByStation::name, AlCaHLTBitMon_QueryRunRegistry::string, and TH1Index_.

Referenced by SVTagInfoValidationAnalyzer().

468  {
469  // Book pull histograms
470 
471  std::string name = prefix + "_Pullx";
472  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
473  name = prefix + "_Pully";
474  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
475  name = prefix + "_Pullz";
476  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
477 
478  name = prefix + "_Resx";
479  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
480  name = prefix + "_Resy";
481  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
482  name = prefix + "_Resz";
483  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
484 
485  name = prefix + "_Chi2Norm";
486  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0, 10.);
487  name = prefix + "_Chi2Prob";
488  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0., 1.);
489 
490  name = prefix + "_nRecTrks";
491  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
492 
493  name = prefix + "_AverageTrackWeight";
494  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.1, 1.1);
495 
496  name = prefix + "_Mass";
497  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 65, 0., 6.5);
498 
499  name = prefix + "_RecPt";
500  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
501 
502  name = prefix + "_RecEta";
503  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
504 
505  name = prefix + "_RecCharge";
506  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
507 
508  name = prefix + "_RecTrackPt";
509  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
510 
511  name = prefix + "_RecTrackEta";
512  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
513 
514  name = prefix + "_nSimTrks";
515  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
516 
517  name = prefix + "_SimPt";
518  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
519 
520  name = prefix + "_SimEta";
521  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
522 
523  name = prefix + "_SimCharge";
524  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
525 
526  name = prefix + "_SimTrackPt";
527  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 500, 0., 500.);
528 
529  name = prefix + "_SimTrackEta";
530  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
531 
532 
533 }
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs_
std::map< std::string, TH1D * > TH1Index_
void SVTagInfoValidationAnalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 719 of file SVTagInfoValidationAnalyzer.cc.

References gather_cfg::cout, n_event, rs_total_nall, rs_total_nbsv, rs_total_nbv, rs_total_ncv, rs_total_nlv, rs_total_nsv, sr_total_nall, sr_total_nbsv, sr_total_nbv, sr_total_ncv, sr_total_nlv, sr_total_nsv, and total_nfake.

719  {
720 
721  std::cout << std::endl;
722  std::cout << " ====== Total Number of analyzed events: " << n_event << " ====== " << std::endl;
723  std::cout << " ====== Total Number of R2S All: " << rs_total_nall << " ====== " << std::endl;
724  std::cout << " ====== Total Number of R2S SecondaryVertex: " << rs_total_nsv << " ====== " << std::endl;
725  std::cout << " ====== Total Number of R2S BWeakDecay: " << rs_total_nbv << " ====== " << std::endl;
726  std::cout << " ====== Total Number of R2S BWeakDecay::SecondaryVertex: " << rs_total_nbsv << " ====== " << std::endl;
727  std::cout << " ====== Total Number of R2S CWeakDecay: " << rs_total_ncv << " ====== " << std::endl;
728  std::cout << " ====== Total Number of R2S Light: " << rs_total_nlv << " ====== " << std::endl;
729  std::cout << std::endl;
730  std::cout << " ====== Total Number of S2R All: " << sr_total_nall << " ====== " << std::endl;
731  std::cout << " ====== Total Number of S2R SecondaryVertex: " << sr_total_nsv << " ====== " << std::endl;
732  std::cout << " ====== Total Number of S2R BWeakDecay: " << sr_total_nbv << " ====== " << std::endl;
733  std::cout << " ====== Total Number of S2R BWeakDecay::SecondaryVertex: " << sr_total_nbsv << " ====== " << std::endl;
734  std::cout << " ====== Total Number of S2R CWeakDecay: " << sr_total_ncv << " ====== " << std::endl;
735  std::cout << " ====== Total Number of S2R Light: " << sr_total_nlv << " ====== " << std::endl;
736  std::cout << std::endl;
737  std::cout << " ====== Total Number of Fake Vertices: " << total_nfake << " ====== " << std::endl;
738 
739 }
tuple cout
Definition: gather_cfg.py:121
void SVTagInfoValidationAnalyzer::fillRecoToSim ( std::string const &  prefix,
reco::Vertex const &  vertex,
TrackingVertexRef const &  simVertex 
)
private

Definition at line 536 of file SVTagInfoValidationAnalyzer.cc.

References RecoTauCleanerPlugins::charge, reco::Vertex::chi2(), ChiSquaredProbability(), eta, reco::Vertex::ndof(), reco::Vertex::normalizedChi2(), AlCaHLTBitMon_ParallelJobs::p, EnergyCorrector::pt, mathSSE::sqrt(), TH1Index_, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::Vertex::tracksSize(), reco::Vertex::trackWeight(), puppiForMET_cff::weight, reco::Vertex::x(), reco::Vertex::xError(), reco::Vertex::y(), reco::Vertex::yError(), reco::Vertex::z(), and reco::Vertex::zError().

Referenced by analyze().

537 {
538 
539  double pullx = (vertex.x() - simVertex->position().x())/vertex.xError();
540  double pully = (vertex.y() - simVertex->position().y())/vertex.yError();
541  double pullz = (vertex.z() - simVertex->position().z())/vertex.zError();
542 
543  double resx = vertex.x() - simVertex->position().x();
544  double resy = vertex.y() - simVertex->position().y();
545  double resz = vertex.z() - simVertex->position().z();
546 
547  double chi2norm = vertex.normalizedChi2();
548  double chi2prob = ChiSquaredProbability( vertex.chi2(), vertex.ndof() );
549 
550  double sum_weight = 0.;
551  double weight = 0.;
552  double tracksize = vertex.tracksSize();
553  math::XYZVector momentum;
555  int charge = 0;
556  double thePiMass = 0.13957;
557  for ( reco::Vertex::trackRef_iterator recDaughter = vertex.tracks_begin() ; recDaughter != vertex.tracks_end(); ++recDaughter) {
558 
559  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > vec;
560 
561  vec.SetPx( (**recDaughter).px() );
562  vec.SetPy( (**recDaughter).py() );
563  vec.SetPz( (**recDaughter).pz() );
564  vec.SetM(thePiMass);
565 
566  sum += vec;
567 
568  weight = vertex.trackWeight(*recDaughter);
569  sum_weight += weight;
570 
572  p = (**recDaughter).momentum();
573  momentum += p;
574 
575  charge += (*recDaughter)->charge();
576 
577  TH1Index_[prefix + "_RecTrackPt"]->Fill( (*recDaughter)->pt() );
578  TH1Index_[prefix + "_RecTrackEta"]->Fill( (*recDaughter)->eta() );
579  }//end loop to recDaughters
580  //cout << " average sum of weights = " << sum_weight/tracksize << endl;
581 
582  double mass = sum.M();
583  double pt = sqrt( momentum.Perp2() );
584  double eta = momentum.Eta();
585 
586  math::XYZVector simmomentum;
587  int simcharge = 0;
588  for ( TrackingVertex::tp_iterator simDaughter = simVertex->daughterTracks_begin(); simDaughter != simVertex->daughterTracks_end(); ++simDaughter ){
589 
591  p = (**simDaughter).momentum();
592  simmomentum += p;
593 
594  simcharge += (*simDaughter)->charge();
595 
596  TH1Index_[prefix + "_SimTrackPt"]->Fill( (*simDaughter)->pt() );
597  TH1Index_[prefix + "_SimTrackEta"]->Fill( (*simDaughter)->eta() );
598  }
599 
600  double simpt = sqrt( simmomentum.Perp2() );
601  double simeta = simmomentum.Eta();
602 
603  //cout << "[fillRecoToSim] vertex.tracksSize() = " << vertex.tracksSize() << " ; simVertex->nDaughterTracks() = " << simVertex->nDaughterTracks() << endl;
604 
605  TH1Index_[prefix + "_nRecTrks"]->Fill( vertex.tracksSize() );
606  TH1Index_[prefix + "_nSimTrks"]->Fill( simVertex->nDaughterTracks() );
607  TH1Index_[prefix + "_Pullx"]->Fill(pullx);
608  TH1Index_[prefix + "_Pully"]->Fill(pully);
609  TH1Index_[prefix + "_Pullz"]->Fill(pullz);
610  TH1Index_[prefix + "_Resx"]->Fill(resx);
611  TH1Index_[prefix + "_Resy"]->Fill(resy);
612  TH1Index_[prefix + "_Resz"]->Fill(resz);
613  TH1Index_[prefix + "_AverageTrackWeight"]->Fill( sum_weight/tracksize );
614  TH1Index_[prefix + "_Chi2Norm"]->Fill(chi2norm);
615  TH1Index_[prefix + "_Chi2Prob"]->Fill(chi2prob);
616  TH1Index_[prefix + "_RecPt"]->Fill(pt);
617  TH1Index_[prefix + "_RecEta"]->Fill(eta);
618  TH1Index_[prefix + "_RecCharge"]->Fill(charge);
619  TH1Index_[prefix + "_Mass"]->Fill(mass);
620  TH1Index_[prefix + "_SimPt"]->Fill(simpt);
621  TH1Index_[prefix + "_SimEta"]->Fill(simeta);
622  TH1Index_[prefix + "_SimCharge"]->Fill(simcharge);
623 }
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:48
std::map< std::string, TH1D * > TH1Index_
float ChiSquaredProbability(double chiSquared, double nrDOF)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector&lt;TrackRef&gt;
Definition: Vertex.h:37
void SVTagInfoValidationAnalyzer::fillSimToReco ( std::string const &  prefix,
reco::VertexBaseRef const &  vertex,
TrackingVertexRef const &  simVertex 
)
private

Definition at line 626 of file SVTagInfoValidationAnalyzer.cc.

References RecoTauCleanerPlugins::charge, reco::Vertex::chi2(), ChiSquaredProbability(), eta, reco::Vertex::ndof(), reco::Vertex::normalizedChi2(), AlCaHLTBitMon_ParallelJobs::p, EnergyCorrector::pt, mathSSE::sqrt(), TH1Index_, reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::Vertex::tracksSize(), reco::Vertex::trackWeight(), puppiForMET_cff::weight, reco::Vertex::x(), reco::Vertex::xError(), reco::Vertex::y(), reco::Vertex::yError(), reco::Vertex::z(), and reco::Vertex::zError().

Referenced by analyze().

627 {
628 
629  double pullx = (vertex->x() - simVertex->position().x())/vertex->xError();
630  double pully = (vertex->y() - simVertex->position().y())/vertex->yError();
631  double pullz = (vertex->z() - simVertex->position().z())/vertex->zError();
632 
633  double resx = vertex->x() - simVertex->position().x();
634  double resy = vertex->y() - simVertex->position().y();
635  double resz = vertex->z() - simVertex->position().z();
636 
637  double chi2norm = vertex->normalizedChi2();
638  double chi2prob = ChiSquaredProbability(vertex->chi2(), vertex->ndof());
639 
640  double sum_weight = 0.;
641  double weight = 0.;
642  double tracksize = vertex->tracksSize();
643  math::XYZVector momentum;
645  int charge = 0;
646  double thePiMass = 0.13957;
647  for ( reco::Vertex::trackRef_iterator recDaughter = vertex->tracks_begin() ; recDaughter != vertex->tracks_end(); ++recDaughter ) {
648 
649  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > vec;
650 
651  vec.SetPx( (**recDaughter).px() );
652  vec.SetPy( (**recDaughter).py() );
653  vec.SetPz( (**recDaughter).pz() );
654  vec.SetM(thePiMass);
655 
656  sum += vec;
657 
658  weight = vertex->trackWeight(*recDaughter);
659  sum_weight += weight;
660 
662  p = (**recDaughter).momentum();
663  momentum += p;
664 
665  charge += (*recDaughter)->charge();
666 
667  TH1Index_[prefix + "_RecTrackPt"]->Fill( (*recDaughter)->pt() );
668  TH1Index_[prefix + "_RecTrackEta"]->Fill( (*recDaughter)->eta() );
669 
670  }
671  //cout << " average sum of weights = " << sum_weight/tracksize << endl;
672 
673  double mass = sum.M();
674  double pt = sqrt( momentum.Perp2() );
675  double eta = momentum.Eta();
676 
677  math::XYZVector simmomentum;
678  int simcharge = 0;
679  for ( TrackingVertex::tp_iterator simDaughter = simVertex->daughterTracks_begin(); simDaughter != simVertex->daughterTracks_end(); ++simDaughter ){
680 
682  p = (**simDaughter).momentum();
683  simmomentum += p;
684 
685  simcharge += (*simDaughter)->charge();
686 
687  TH1Index_[prefix + "_SimTrackPt"]->Fill( (*simDaughter)->pt() );
688  TH1Index_[prefix + "_SimTrackEta"]->Fill( (*simDaughter)->eta() );
689  }
690 
691  double simpt = sqrt( simmomentum.Perp2() );
692  double simeta = simmomentum.Eta();
693 
694  //cout << "[fillSimToReco] vertex->tracksSize() = " << vertex->tracksSize() << " ; simVertex->nDaughterTracks() = " << simVertex->nDaughterTracks() << endl;
695 
696  TH1Index_[prefix + "_nRecTrks"]->Fill( vertex->tracksSize() );
697  TH1Index_[prefix + "_nSimTrks"]->Fill( simVertex->nDaughterTracks() );
698  TH1Index_[prefix + "_Pullx"]->Fill(pullx);
699  TH1Index_[prefix + "_Pully"]->Fill(pully);
700  TH1Index_[prefix + "_Pullz"]->Fill(pullz);
701  TH1Index_[prefix + "_Resx"]->Fill(resx);
702  TH1Index_[prefix + "_Resy"]->Fill(resy);
703  TH1Index_[prefix + "_Resz"]->Fill(resz);
704  TH1Index_[prefix + "_AverageTrackWeight"]->Fill( sum_weight/tracksize );
705  TH1Index_[prefix + "_Chi2Norm"]->Fill(chi2norm);
706  TH1Index_[prefix + "_Chi2Prob"]->Fill(chi2prob);
707  TH1Index_[prefix + "_RecPt"]->Fill(pt);
708  TH1Index_[prefix + "_RecEta"]->Fill(eta);
709  TH1Index_[prefix + "_RecCharge"]->Fill(charge);
710  TH1Index_[prefix + "_Mass"]->Fill(mass);
711  TH1Index_[prefix + "_SimPt"]->Fill(simpt);
712  TH1Index_[prefix + "_SimEta"]->Fill(simeta);
713  TH1Index_[prefix + "_SimCharge"]->Fill(simcharge);
714 
715 }
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:48
std::map< std::string, TH1D * > TH1Index_
float ChiSquaredProbability(double chiSquared, double nrDOF)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector&lt;TrackRef&gt;
Definition: Vertex.h:37

Member Data Documentation

VertexClassifierByProxy<reco::SecondaryVertexTagInfoCollection> SVTagInfoValidationAnalyzer::classifier_
private

Definition at line 50 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze().

edm::Service<TFileService> SVTagInfoValidationAnalyzer::fs_
private
Int_t SVTagInfoValidationAnalyzer::n_event
private

Definition at line 59 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::numberVertexClassifier_
private

Definition at line 52 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_nall
private

Definition at line 60 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_nbsv
private

Definition at line 63 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_nbv
private

Definition at line 62 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_ncv
private

Definition at line 64 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_nlv
private

Definition at line 65 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_nsv
private

Definition at line 61 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::sr_total_nall
private

Definition at line 68 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::sr_total_nbsv
private

Definition at line 71 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::sr_total_nbv
private

Definition at line 70 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::sr_total_ncv
private

Definition at line 72 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::sr_total_nlv
private

Definition at line 73 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::sr_total_nsv
private

Definition at line 69 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

edm::InputTag SVTagInfoValidationAnalyzer::svTagInfoProducer_
private

Definition at line 54 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().

std::map<std::string, TH1D *> SVTagInfoValidationAnalyzer::TH1Index_
private
Int_t SVTagInfoValidationAnalyzer::total_nfake
private

Definition at line 66 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), endJob(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::total_nmiss
private

Definition at line 74 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().

edm::InputTag SVTagInfoValidationAnalyzer::trackingTruth_
private

Definition at line 53 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().