CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SVTagInfoValidationAnalyzer Class Reference
Inheritance diagram for SVTagInfoValidationAnalyzer:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 SVTagInfoValidationAnalyzer (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookRecoToSim (std::string const &)
 
void bookSimToReco (std::string const &)
 
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::SecondaryVertexTagInfoCollectionclassifier_
 
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::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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 84 of file SVTagInfoValidationAnalyzer.cc.

References bookRecoToSim(), bookSimToReco(), fs_, edm::ParameterSet::getUntrackedParameter(), mps_fire::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.

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

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(), mps_fire::i, 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_.

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

Definition at line 380 of file SVTagInfoValidationAnalyzer.cc.

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

Referenced by SVTagInfoValidationAnalyzer().

380  {
381  // Book pull histograms
382 
383  std::string name = prefix + "_Pullx";
384  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
385  name = prefix + "_Pully";
386  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
387  name = prefix + "_Pullz";
388  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
389 
390  name = prefix + "_Resx";
391  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
392  name = prefix + "_Resy";
393  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
394  name = prefix + "_Resz";
395  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
396 
397  name = prefix + "_Chi2Norm";
398  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0, 10.);
399  name = prefix + "_Chi2Prob";
400  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0., 1.);
401 
402  name = prefix + "_nRecTrks";
403  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
404 
405  name = prefix + "_AverageTrackWeight";
406  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.1, 1.1);
407 
408  name = prefix + "_Mass";
409  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 65, 0., 6.5);
410 
411  name = prefix + "_RecPt";
412  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
413 
414  name = prefix + "_RecEta";
415  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
416 
417  name = prefix + "_RecCharge";
418  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
419 
420  name = prefix + "_RecTrackPt";
421  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
422 
423  name = prefix + "_RecTrackEta";
424  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
425 
426  name = prefix + "_nSimTrks";
427  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
428 
429  name = prefix + "_SimPt";
430  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
431 
432  name = prefix + "_SimEta";
433  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
434 
435  name = prefix + "_SimCharge";
436  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
437 
438  name = prefix + "_SimTrackPt";
439  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 500, 0., 500.);
440 
441  name = prefix + "_SimTrackEta";
442  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
443 }
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 445 of file SVTagInfoValidationAnalyzer.cc.

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

Referenced by SVTagInfoValidationAnalyzer().

445  {
446  // Book pull histograms
447 
448  std::string name = prefix + "_Pullx";
449  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
450  name = prefix + "_Pully";
451  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
452  name = prefix + "_Pullz";
453  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -10., 10.);
454 
455  name = prefix + "_Resx";
456  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
457  name = prefix + "_Resy";
458  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
459  name = prefix + "_Resz";
460  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.05, 0.05);
461 
462  name = prefix + "_Chi2Norm";
463  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0, 10.);
464  name = prefix + "_Chi2Prob";
465  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, 0., 1.);
466 
467  name = prefix + "_nRecTrks";
468  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
469 
470  name = prefix + "_AverageTrackWeight";
471  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 100, -0.1, 1.1);
472 
473  name = prefix + "_Mass";
474  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 65, 0., 6.5);
475 
476  name = prefix + "_RecPt";
477  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
478 
479  name = prefix + "_RecEta";
480  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
481 
482  name = prefix + "_RecCharge";
483  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
484 
485  name = prefix + "_RecTrackPt";
486  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
487 
488  name = prefix + "_RecTrackEta";
489  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
490 
491  name = prefix + "_nSimTrks";
492  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 501, -0.5, 500.5);
493 
494  name = prefix + "_SimPt";
495  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 2000, 0., 1000.);
496 
497  name = prefix + "_SimEta";
498  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
499 
500  name = prefix + "_SimCharge";
501  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 21, -0.5, 20.5);
502 
503  name = prefix + "_SimTrackPt";
504  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 500, 0., 500.);
505 
506  name = prefix + "_SimTrackEta";
507  TH1Index_[name] = fs_->make<TH1D>(name.c_str(), name.c_str(), 200, -3., 3.);
508 }
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::one::EDAnalyzerBase.

Definition at line 696 of file SVTagInfoValidationAnalyzer.cc.

References gather_cfg::cout, DEFINE_FWK_MODULE, 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.

696  {
697  std::cout << std::endl;
698  std::cout << " ====== Total Number of analyzed events: " << n_event << " ====== " << std::endl;
699  std::cout << " ====== Total Number of R2S All: " << rs_total_nall << " ====== " << std::endl;
700  std::cout << " ====== Total Number of R2S SecondaryVertex: " << rs_total_nsv << " ====== " << std::endl;
701  std::cout << " ====== Total Number of R2S BWeakDecay: " << rs_total_nbv << " ====== " << std::endl;
702  std::cout << " ====== Total Number of R2S BWeakDecay::SecondaryVertex: " << rs_total_nbsv << " ====== " << std::endl;
703  std::cout << " ====== Total Number of R2S CWeakDecay: " << rs_total_ncv << " ====== " << std::endl;
704  std::cout << " ====== Total Number of R2S Light: " << rs_total_nlv << " ====== " << std::endl;
705  std::cout << std::endl;
706  std::cout << " ====== Total Number of S2R All: " << sr_total_nall << " ====== " << std::endl;
707  std::cout << " ====== Total Number of S2R SecondaryVertex: " << sr_total_nsv << " ====== " << std::endl;
708  std::cout << " ====== Total Number of S2R BWeakDecay: " << sr_total_nbv << " ====== " << std::endl;
709  std::cout << " ====== Total Number of S2R BWeakDecay::SecondaryVertex: " << sr_total_nbsv << " ====== " << std::endl;
710  std::cout << " ====== Total Number of S2R CWeakDecay: " << sr_total_ncv << " ====== " << std::endl;
711  std::cout << " ====== Total Number of S2R Light: " << sr_total_nlv << " ====== " << std::endl;
712  std::cout << std::endl;
713  std::cout << " ====== Total Number of Fake Vertices: " << total_nfake << " ====== " << std::endl;
714 }
void SVTagInfoValidationAnalyzer::fillRecoToSim ( std::string const &  prefix,
reco::Vertex const &  vertex,
TrackingVertexRef const &  simVertex 
)
private

Definition at line 510 of file SVTagInfoValidationAnalyzer.cc.

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

Referenced by analyze().

512  {
513  double pullx = (vertex.x() - simVertex->position().x()) / vertex.xError();
514  double pully = (vertex.y() - simVertex->position().y()) / vertex.yError();
515  double pullz = (vertex.z() - simVertex->position().z()) / vertex.zError();
516 
517  double resx = vertex.x() - simVertex->position().x();
518  double resy = vertex.y() - simVertex->position().y();
519  double resz = vertex.z() - simVertex->position().z();
520 
521  double chi2norm = vertex.normalizedChi2();
522  double chi2prob = ChiSquaredProbability(vertex.chi2(), vertex.ndof());
523 
524  double sum_weight = 0.;
525  double weight = 0.;
526  double tracksize = vertex.tracksSize();
527  math::XYZVector momentum;
529  int charge = 0;
530  double thePiMass = 0.13957;
531  for (reco::Vertex::trackRef_iterator recDaughter = vertex.tracks_begin(); recDaughter != vertex.tracks_end();
532  ++recDaughter) {
533  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double>> vec;
534 
535  vec.SetPx((**recDaughter).px());
536  vec.SetPy((**recDaughter).py());
537  vec.SetPz((**recDaughter).pz());
538  vec.SetM(thePiMass);
539 
540  sum += vec;
541 
542  weight = vertex.trackWeight(*recDaughter);
543  sum_weight += weight;
544 
546  p = (**recDaughter).momentum();
547  momentum += p;
548 
549  charge += (*recDaughter)->charge();
550 
551  TH1Index_[prefix + "_RecTrackPt"]->Fill((*recDaughter)->pt());
552  TH1Index_[prefix + "_RecTrackEta"]->Fill((*recDaughter)->eta());
553  } // end loop to recDaughters
554  // cout << " average sum of weights = " <<
555  // sum_weight/tracksize << endl;
556 
557  double mass = sum.M();
558  double pt = sqrt(momentum.Perp2());
559  double eta = momentum.Eta();
560 
561  math::XYZVector simmomentum;
562  int simcharge = 0;
563  for (TrackingVertex::tp_iterator simDaughter = simVertex->daughterTracks_begin();
564  simDaughter != simVertex->daughterTracks_end();
565  ++simDaughter) {
567  p = (**simDaughter).momentum();
568  simmomentum += p;
569 
570  simcharge += (*simDaughter)->charge();
571 
572  TH1Index_[prefix + "_SimTrackPt"]->Fill((*simDaughter)->pt());
573  TH1Index_[prefix + "_SimTrackEta"]->Fill((*simDaughter)->eta());
574  }
575 
576  double simpt = sqrt(simmomentum.Perp2());
577  double simeta = simmomentum.Eta();
578 
579  // cout << "[fillRecoToSim] vertex.tracksSize() = " << vertex.tracksSize() <<
580  // " ; simVertex->nDaughterTracks() = " << simVertex->nDaughterTracks() <<
581  // endl;
582 
583  TH1Index_[prefix + "_nRecTrks"]->Fill(vertex.tracksSize());
584  TH1Index_[prefix + "_nSimTrks"]->Fill(simVertex->nDaughterTracks());
585  TH1Index_[prefix + "_Pullx"]->Fill(pullx);
586  TH1Index_[prefix + "_Pully"]->Fill(pully);
587  TH1Index_[prefix + "_Pullz"]->Fill(pullz);
588  TH1Index_[prefix + "_Resx"]->Fill(resx);
589  TH1Index_[prefix + "_Resy"]->Fill(resy);
590  TH1Index_[prefix + "_Resz"]->Fill(resz);
591  TH1Index_[prefix + "_AverageTrackWeight"]->Fill(sum_weight / tracksize);
592  TH1Index_[prefix + "_Chi2Norm"]->Fill(chi2norm);
593  TH1Index_[prefix + "_Chi2Prob"]->Fill(chi2prob);
594  TH1Index_[prefix + "_RecPt"]->Fill(pt);
595  TH1Index_[prefix + "_RecEta"]->Fill(eta);
596  TH1Index_[prefix + "_RecCharge"]->Fill(charge);
597  TH1Index_[prefix + "_Mass"]->Fill(mass);
598  TH1Index_[prefix + "_SimPt"]->Fill(simpt);
599  TH1Index_[prefix + "_SimEta"]->Fill(simeta);
600  TH1Index_[prefix + "_SimCharge"]->Fill(simcharge);
601 }
Definition: weight.py:1
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:18
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<TrackRef>
Definition: Vertex.h:37
void SVTagInfoValidationAnalyzer::fillSimToReco ( std::string const &  prefix,
reco::VertexBaseRef const &  vertex,
TrackingVertexRef const &  simVertex 
)
private

Definition at line 603 of file SVTagInfoValidationAnalyzer.cc.

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

Referenced by analyze().

605  {
606  double pullx = (vertex->x() - simVertex->position().x()) / vertex->xError();
607  double pully = (vertex->y() - simVertex->position().y()) / vertex->yError();
608  double pullz = (vertex->z() - simVertex->position().z()) / vertex->zError();
609 
610  double resx = vertex->x() - simVertex->position().x();
611  double resy = vertex->y() - simVertex->position().y();
612  double resz = vertex->z() - simVertex->position().z();
613 
614  double chi2norm = vertex->normalizedChi2();
615  double chi2prob = ChiSquaredProbability(vertex->chi2(), vertex->ndof());
616 
617  double sum_weight = 0.;
618  double weight = 0.;
619  double tracksize = vertex->tracksSize();
620  math::XYZVector momentum;
622  int charge = 0;
623  double thePiMass = 0.13957;
624  for (reco::Vertex::trackRef_iterator recDaughter = vertex->tracks_begin(); recDaughter != vertex->tracks_end();
625  ++recDaughter) {
626  ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double>> vec;
627 
628  vec.SetPx((**recDaughter).px());
629  vec.SetPy((**recDaughter).py());
630  vec.SetPz((**recDaughter).pz());
631  vec.SetM(thePiMass);
632 
633  sum += vec;
634 
635  weight = vertex->trackWeight(*recDaughter);
636  sum_weight += weight;
637 
639  p = (**recDaughter).momentum();
640  momentum += p;
641 
642  charge += (*recDaughter)->charge();
643 
644  TH1Index_[prefix + "_RecTrackPt"]->Fill((*recDaughter)->pt());
645  TH1Index_[prefix + "_RecTrackEta"]->Fill((*recDaughter)->eta());
646  }
647  // cout << " average sum of weights = " <<
648  // sum_weight/tracksize << endl;
649 
650  double mass = sum.M();
651  double pt = sqrt(momentum.Perp2());
652  double eta = momentum.Eta();
653 
654  math::XYZVector simmomentum;
655  int simcharge = 0;
656  for (TrackingVertex::tp_iterator simDaughter = simVertex->daughterTracks_begin();
657  simDaughter != simVertex->daughterTracks_end();
658  ++simDaughter) {
660  p = (**simDaughter).momentum();
661  simmomentum += p;
662 
663  simcharge += (*simDaughter)->charge();
664 
665  TH1Index_[prefix + "_SimTrackPt"]->Fill((*simDaughter)->pt());
666  TH1Index_[prefix + "_SimTrackEta"]->Fill((*simDaughter)->eta());
667  }
668 
669  double simpt = sqrt(simmomentum.Perp2());
670  double simeta = simmomentum.Eta();
671 
672  // cout << "[fillSimToReco] vertex->tracksSize() = " << vertex->tracksSize()
673  // << " ; simVertex->nDaughterTracks() = " << simVertex->nDaughterTracks() <<
674  // endl;
675 
676  TH1Index_[prefix + "_nRecTrks"]->Fill(vertex->tracksSize());
677  TH1Index_[prefix + "_nSimTrks"]->Fill(simVertex->nDaughterTracks());
678  TH1Index_[prefix + "_Pullx"]->Fill(pullx);
679  TH1Index_[prefix + "_Pully"]->Fill(pully);
680  TH1Index_[prefix + "_Pullz"]->Fill(pullz);
681  TH1Index_[prefix + "_Resx"]->Fill(resx);
682  TH1Index_[prefix + "_Resy"]->Fill(resy);
683  TH1Index_[prefix + "_Resz"]->Fill(resz);
684  TH1Index_[prefix + "_AverageTrackWeight"]->Fill(sum_weight / tracksize);
685  TH1Index_[prefix + "_Chi2Norm"]->Fill(chi2norm);
686  TH1Index_[prefix + "_Chi2Prob"]->Fill(chi2prob);
687  TH1Index_[prefix + "_RecPt"]->Fill(pt);
688  TH1Index_[prefix + "_RecEta"]->Fill(eta);
689  TH1Index_[prefix + "_RecCharge"]->Fill(charge);
690  TH1Index_[prefix + "_Mass"]->Fill(mass);
691  TH1Index_[prefix + "_SimPt"]->Fill(simpt);
692  TH1Index_[prefix + "_SimEta"]->Fill(simeta);
693  TH1Index_[prefix + "_SimCharge"]->Fill(simcharge);
694 }
Definition: weight.py:1
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:18
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<TrackRef>
Definition: Vertex.h:37

Member Data Documentation

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

Definition at line 46 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze().

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

Definition at line 55 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::numberVertexClassifier_
private

Definition at line 48 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().

Int_t SVTagInfoValidationAnalyzer::rs_total_nall
private

Definition at line 56 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::rs_total_nbsv
private

Definition at line 59 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::rs_total_nbv
private

Definition at line 58 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::rs_total_ncv
private

Definition at line 60 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::rs_total_nlv
private

Definition at line 61 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::rs_total_nsv
private

Definition at line 57 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::sr_total_nall
private

Definition at line 64 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::sr_total_nbsv
private

Definition at line 67 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::sr_total_nbv
private

Definition at line 66 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::sr_total_ncv
private

Definition at line 68 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::sr_total_nlv
private

Definition at line 69 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::sr_total_nsv
private

Definition at line 65 of file SVTagInfoValidationAnalyzer.cc.

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

edm::InputTag SVTagInfoValidationAnalyzer::svTagInfoProducer_
private

Definition at line 50 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 62 of file SVTagInfoValidationAnalyzer.cc.

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

Int_t SVTagInfoValidationAnalyzer::total_nmiss
private

Definition at line 70 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().

edm::InputTag SVTagInfoValidationAnalyzer::trackingTruth_
private

Definition at line 49 of file SVTagInfoValidationAnalyzer.cc.

Referenced by analyze(), and SVTagInfoValidationAnalyzer().