CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFRootEventManager.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFRootEvent_PFRootEventManager_h
2 #define RecoParticleFlow_PFRootEvent_PFRootEventManager_h
3 
5 
7 
10 
13 
15 
23 
26 
29 
32 
35 
38 
41 
43 
48 
53 
54 /* #include "DataFormats/EgammaReco/interface/BasicCluster.h" */
57 
61 
68 
74 
81 
82 
84 
85 
86 #include <TObject.h>
87 #include "TEllipse.h"
88 #include "TBox.h"
89 
90 #include <string>
91 #include <map>
92 #include <set>
93 #include <vector>
94 #include <memory>
95 #include <iostream>
96 #include <fstream>
97 
98 class TTree;
99 class TBranch;
100 class TFile;
101 class TCanvas;
102 class TH2F;
103 class TH1F;
104 
105 
106 class IO;
107 
108 
109 class PFBlockElement;
110 
111 class EventColin;
112 class PFEnergyCalibration;
114 class PFEnergyResolution;
115 
116 namespace pftools {
117  class PFClusterCalibration;
118 }
119 
120 class METManager;
121 
122 // NEW
123 namespace fwlite {
124  class ChainEvent;
125 }
126 
127 typedef std::pair<double, unsigned> simMatch;
128 typedef std::list< std::pair<double, unsigned> >::iterator ITM;
129 
131 
191 
192  public:
193 
195  enum View_t { XY = 0, RZ = 1, EPE = 2, EPH = 3, NViews = 4 };
196  enum Verbosity {SHUTUP = 0, VERBOSE};
197 
200 
202  PFRootEventManager(const char* file);
203 
205  virtual ~PFRootEventManager();
206 
208 
209  virtual void write();
210 
212  void reset();
213 
215  std::string getGenParticleName(int partId,std::string &latexStringName) const;
216 
217 
220  void readOptions(const char* file,
221  bool refresh=true,
222  bool reconnect=false);
223 
224 
225  virtual void readSpecificOptions(const char* file) {}
226 
228  void connect(const char* infilename="");
229 
230  int eventToEntry(int run, int lumi, int event) const;
231 
233  virtual bool processEvent(int run, int lumi, int event);
234 
236  virtual bool processEntry(int entry);
237 
239  bool readFromSimulation(int entry);
240 
242  bool isHadronicTau() const;
243 
247  bool countChargedAndPhotons() const;
248 
252  int chargeValue(const int& pdgId) const;
253 
254 
258 
261  bool findNeighbours);
262 
267  const std::map<unsigned, unsigned>& detId2index );
268 
270  // bool readFromRealData(int entry);
271 
273  void clustering();
274 
276  void particleFlow();
277 
279  void pfCandCompare(int);
280 
282  void reconstructGenJets();
283 
285  void reconstructCaloJets();
286 
288  void reconstructPFJets();
289 
291  void reconstructFWLiteJets(const reco::CandidatePtrVector& Candidates,
292  std::vector<ProtoJet>& output);
293 
294  void mcTruthMatching( std::ostream& out,
295  const reco::PFCandidateCollection& candidates,
296  std::vector< std::list <simMatch> >& candSimMatchTrack,
297  std::vector< std::list <simMatch> >& candSimMatchEcal) const;
298 
302  double tauBenchmark( const reco::PFCandidateCollection& candidates);
303 
304 
307 
310 
313 
316 
319 
320 
321 
323  void print( std::ostream& out = std::cout,
324  int maxNLines = -1 ) const;
325 
327  void printMCCalib( std::ofstream& out ) const;
328 
329 
331  TTree* tree() {return tree_;}
332 
333  // protected:
334 
335  // expand environment variable in a string
336  std::string expand(const std::string& oldString) const;
337 
340  const PFClusterAlgo& clusterAlgo,
341  std::ostream& out = std::cout) const;
342 
343  void printRecHit(const reco::PFRecHit& rh, unsigned index,
344  const char* seed=" ",
345  std::ostream& out = std::cout) const;
346 
348  void printClusters(const reco::PFClusterCollection& clusters,
349  std::ostream& out = std::cout) const;
350 
351  void printCluster(const reco::PFCluster& cluster,
352  std::ostream& out = std::cout) const;
353 
354 
356  void printGenParticles(std::ostream& out = std::cout,
357  int maxNLines = -1) const;
358 
359 
360  /* /// is inside cut G? */
361  /* bool insideGCut(double eta, double phi) const; */
362 
364  bool trackInsideGCut( const reco::PFTrack& track ) const;
365 
367  void fillRecHitMask( std::vector<bool>& mask,
368  const reco::PFRecHitCollection& rechits ) const;
369 
371  void fillClusterMask( std::vector<bool>& mask,
372  const reco::PFClusterCollection& clusters ) const;
373 
375  void fillTrackMask( std::vector<bool>& mask,
376  const reco::PFRecTrackCollection& tracks ) const;
377  void fillTrackMask( std::vector<bool>& mask,
378  const reco::GsfPFRecTrackCollection& tracks ) const;
379 
381  void fillPhotonMask (std::vector<bool>& mask,
382  const reco::PhotonCollection& photons) const;
383 
385  const reco::PFSimParticle&
387  double eta, double phi,
388  double& peta, double& pphi, double& pe) const;
389 
390 
391  const reco::PFBlockCollection& blocks() const { return *pfBlocks_; }
392 
393 
394  int eventNumber() {return iEvent_;}
395 
396  /* std::vector<int> getViewSizeEtaPhi() {return viewSizeEtaPhi_;} */
397  /* std::vector<int> getViewSize() {return viewSize_;} */
398 
399  void readCMSSWJets();
400 
402  bool eventAccepted() const;
403 
405  bool highPtJet( double ptMin ) const;
406 
408  bool highPtPFCandidate( double ptMin,
410 
412  edm::InputTag stringToTag(const std::vector< std::string >& tagname);
413  // data members -------------------------------------------------------
414 
416  int iEvent_;
417 
420 
423 
425  TTree* tree_;
426 
428  TTree* outTree_;
429 
433 
436 
439 
440 
441 
442  // branches --------------------------
443 
445 
448 
453 
458 
463 
468 
473 
475  std::vector< reco::PFRecHitCollection > rechitsCLEANEDV_;
476  std::vector< edm::Handle<reco::PFRecHitCollection> > rechitsCLEANEDHandles_;
477  std::vector< edm::InputTag > rechitsCLEANEDTags_;
479 
484 
488  std::auto_ptr< reco::PFClusterCollection > clustersECAL_;
489 
493  std::auto_ptr< reco::PFClusterCollection > clustersHCAL_;
494 
498  std::auto_ptr< reco::PFClusterCollection > clustersHO_;
499 
503  std::auto_ptr< reco::PFClusterCollection > clustersHFEM_;
504 
508  std::auto_ptr< reco::PFClusterCollection > clustersHFHAD_;
509 
513  std::auto_ptr< reco::PFClusterCollection > clustersPS_;
514 
519 
524 
525 
530 
538 
543 
544  // egamma electrons
548 
553 
558 
563 
568 
573 
578 
583 
588 
593 
598 
601 
606 
611 
613  std::auto_ptr< reco::PFBlockCollection > pfBlocks_;
614 
616  std::auto_ptr< reco::PFCandidateCollection > pfCandidates_;
617 
619  std::auto_ptr< reco::PFCandidateElectronExtraCollection > pfCandidateElectronExtras_;
620 
626 
629 
631  std::vector<ProtoJet> caloJets_;
632 
637 
642 
646  std::vector<reco::CaloJet> caloJetsCMSSW_;
647 
651  std::vector<reco::CaloJet> corrcaloJetsCMSSW_;
652 
655 
658 
661 
666 
671 
676 
681 
683  TFile* file_;
684 
686  std::vector<std::string> inFileNames_;
687 
689  TFile* outFile_;
690 
692  std::string outFileName_;
693 
694  // algos --------------------------------------------------------
695 
699 
702 
705 
708 
711 
714 
715 
718 
721 
722  // ------------------- benchmarks -------------------------------
723 
726 
728  double MET1cut;
729  double DeltaMETcut;
730  double DeltaPhicut;
731 
734 
738 
741 
742  // Addition to have DQM histograms : by S. Dutta
745  bool doPFDQM_;
746  TFile* dqmFile_;
747  //-----------------------------------------------
748 
749  //----------------- print flags --------------------------------
750 
754 
758 
761 
765 
769 
773 
777 
778  // print MC truth matching with PFCandidate yes/no
780 
783 
784  //----------------- filter ------------------------------------
785 
787 
789 
790  std::vector<int> filterTaus_;
791 
792  // --------
793 
797 
800 
803 
806 
808  bool doJets_;
809 
811  bool doMet_;
812 
815 
818 
821 
824 
827 
830 
832  bool debug_;
833 
836 
837 
840 
841 
843  bool fastsim_;
844 
847 
849  bool usePFV0s_;
850 
853 
856 
859 
862 
865 
868 
870  bool useAtHLT_;
871 
873  bool useHO_;
874 
875  // MC Truth tools ---------------------------------------
876 
880  /* TDatabasePDG* pdgTable_; */
881 
882  // Needed for single particle calibration rootTuple
883  boost::shared_ptr<pftools::PFClusterCalibration> clusterCalibration_;
884  boost::shared_ptr<PFEnergyCalibration> calibration_;
885  boost::shared_ptr<PFEnergyCalibrationHF> thepfEnergyCalibrationHF_;
886 
887  std::ofstream* calibFile_;
888 
889  std::auto_ptr<METManager> metManager_;
890 
891  typedef std::map<int, int> EventToEntry;
892  typedef std::map<int, EventToEntry> LumisMap;
893  typedef std::map<int, LumisMap> RunsMap;
895 };
896 #endif
edm::InputTag displacedRecTracksTag_
const reco::PFBlockCollection & blocks() const
CaloTowerCollection caloTowers_
std::auto_ptr< reco::PFBlockCollection > pfBlocks_
reconstructed pfblocks
bool useAtHLT_
Use HLT tracking.
bool doMet_
MET on/off.
edm::InputTag MCTruthTag_
void fillClusterMask(std::vector< bool > &mask, const reco::PFClusterCollection &clusters) const
cluster mask set to true for rechits inside TCutG
type
Definition: HCALResponse.h:22
edm::Handle< reco::CaloMETCollection > caloMetsHandle_
CMSSW Calo MET.
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
void fillTrackMask(std::vector< bool > &mask, const reco::PFRecTrackCollection &tracks) const
track mask set to true for rechits inside TCutG
void reconstructGenJets()
reconstruct gen jets
std::string getGenParticleName(int partId, std::string &latexStringName) const
get name of genParticle
edm::Handle< reco::GenParticleRefVector > genParticlesforJetsHandle_
input collection of gen particles
edm::EventAuxiliary * eventAuxiliary_
event auxiliary information
void reset()
reset before next event
A benchmark managing several benchmarks.
void reconstructPFJets()
reconstruct pf jets
PFClusterAlgo clusterAlgoHFEM_
clustering algorithm for HF, electro-magnetic layer
PFMETMonitor pfMETMonitor_
void printCluster(const reco::PFCluster &cluster, std::ostream &out=std::cout) const
bool tauBenchmarkDebug_
tau benchmark debug
bool printPFJets_
print PFJets yes/no
reco::METCollection tcMets_
TCMET.
ParticleType
particle types
Definition: PFCandidate.h:38
std::pair< double, unsigned > simMatch
edm::Handle< reco::PFRecHitCollection > rechitsHFEMHandle_
rechits HF EM
PFClusterAlgo clusterAlgoHO_
clustering algorithm for HO
boost::shared_ptr< PFEnergyCalibration > calibration_
edm::Handle< reco::PFJetCollection > pfJetsHandle_
CMSSW PF Jets.
bool printPFBlocks_
print PFBlocks yes/no
PFJetBenchmark PFJetBenchmark_
PFJet Benchmark.
General option file parser.
Definition: IO.h:28
reco::PFMETCollection pfMetsCMSSW_
bool useConvBremPFRecTracks_
Use Conv Brem KF Tracks.
edm::InputTag caloJetsTag_
void fillOutEventWithPFCandidates(const reco::PFCandidateCollection &pfCandidates)
fills OutEvent with candidates
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:42
bool debug_
debug printouts for this PFRootEventManager on/off
edm::Handle< reco::PFCandidateCollection > pfCandidateHandle_
CMSSW PF candidates.
boost::shared_ptr< PFEnergyCalibrationHF > thepfEnergyCalibrationHF_
reco::GenParticleRefVector genParticlesforJets_
edm::InputTag convBremGsfrecTracksTag_
std::string outFileName_
output filename
int chargeValue(const int &pdgId) const
edm::Handle< reco::PFRecHitCollection > rechitsHCALHandle_
rechits HCAL
edm::Handle< reco::PFMETCollection > pfMetsHandle_
CMSSW PF MET.
tuple lumi
Definition: fjr2json.py:35
fwlite::ChainEvent * ev_
NEW: input event.
IO * options_
options file parser
reco::PFJetCollection pfJetsCMSSW_
std::auto_ptr< reco::PFClusterCollection > clustersECAL_
void PreprocessRecHits(reco::PFRecHitCollection &rechits, bool findNeighbours)
preprocess a rechit vector from a given rechit branch
bool usePFV0s_
Use of V0 in PFAlgo.
std::vector< GenJet > GenJetCollection
collection of GenJet objects
reco::MuonCollection muons_
edm::InputTag stdTracksTag_
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:10
std::vector< std::string > inFileNames_
input file names
PFRootEventManager()
default constructor
edm::Handle< reco::PFClusterCollection > clustersHCALHandle_
clusters HCAL
reco::PFRecTrackCollection displacedRecTracks_
reco::GenJetCollection genJets_
gen Jets
edm::InputTag egammaElectronsTag_
reco::PFRecHitCollection rechitsHFHAD_
edm::InputTag photonTag_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::InputTag primaryVerticesTag_
std::vector< PFSimParticle > PFSimParticleCollection
collection of PFSimParticle objects
edm::InputTag rechitsHFEMTag_
edm::InputTag rechitsECALTag_
std::vector< PFRecHit > PFRecHitCollection
collection of PFRecHit objects
Definition: PFRecHitFwd.h:9
reco::CandidatePtrVector caloTowersPtrs_
bool usePFNuclearInteractions_
Use of PFDisplacedVertex in PFAlgo.
bool isHadronicTau() const
study the sim event to check if the tau decay is hadronic
std::auto_ptr< reco::PFClusterCollection > clustersHCAL_
reco::PhotonCollection photons_
bool usePFElectrons_
Use PFElectrons.
Base class for particle flow input reconstructed tracks and simulated particles.
Definition: PFTrack.h:63
std::vector< PFConversion > PFConversionCollection
collection of PFConversion objects
std::vector< ProtoJet > caloJets_
calo Jets
int iEvent_
current event
edm::InputTag clustersHFHADTag_
void fillOutEventWithCaloTowers(const CaloTowerCollection &cts)
fills outEvent with calo towers
std::map< int, int > EventToEntry
PFClusterAlgo clusterAlgoECAL_
T eta() const
reco::PFRecTrackCollection recTracks_
edm::Handle< reco::GsfPFRecTrackCollection > gsfrecTracksHandle_
reconstructed GSF tracks
bool highPtJet(double ptMin) const
returns true if there is at least one jet with pT&gt;pTmin
std::vector< reco::MET > METCollection
collection of MET objects
Definition: METCollection.h:23
bool doJets_
jets on/off
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
reco::PFRecHitCollection rechitsPS_
void particleFlow()
performs particle flow
edm::Handle< reco::PhotonCollection > photonHandle_
photons
double tauBenchmark(const reco::PFCandidateCollection &candidates)
COLIN need to get rid of this mess.
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
edm::InputTag pfMetsTag_
edm::Handle< std::vector< reco::CaloJet > > caloJetsHandle_
CMSSW calo Jets.
bool doPFMETBenchmark_
PFMET benchmark on/off.
reco::PFRecHitCollection rechitsHCAL_
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
Particle Flow Algorithm.
Definition: PFBlockAlgo.h:71
void reconstructFWLiteJets(const reco::CandidatePtrVector &Candidates, std::vector< ProtoJet > &output)
used by the reconstruct*Jets functions
edm::InputTag gsfrecTracksTag_
edm::Handle< reco::PFRecHitCollection > rechitsECALHandle_
rechits ECAL
edm::Handle< reco::PFRecHitCollection > rechitsHFHADHandle_
rechits HF HAD
std::vector< edm::Handle< reco::PFRecHitCollection > > rechitsCLEANEDHandles_
edm::InputTag clustersECALTag_
reco::PFSimParticleCollection trueParticles_
PFJetAlgorithm jetAlgo_
edm::Handle< reco::PFSimParticleCollection > trueParticlesHandle_
true particles
bool readFromSimulation(int entry)
read data from simulation tree
edm::InputTag clustersPSTag_
edm::InputTag clustersHOTag_
edm::InputTag stringToTag(const std::vector< std::string > &tagname)
returns an InputTag from a vector of strings
void print(std::ostream &out=std::cout, int maxNLines=-1) const
print information
Algorithm for particle flow clustering.
Definition: PFClusterAlgo.h:31
void readOptions(const char *file, bool refresh=true, bool reconnect=false)
edm::Handle< reco::TrackCollection > stdTracksHandle_
standard reconstructed tracks
std::vector< int > filterTaus_
edm::InputTag rechitsPSTag_
edm::Handle< reco::PFClusterCollection > clustersHOHandle_
clusters HO
edm::Handle< reco::GenJetCollection > genJetsHandle_
CMSSW gen Jets.
void fillPhotonMask(std::vector< bool > &mask, const reco::PhotonCollection &photons) const
photon mask set to true for photons inside TCutG
bool jetsDebug_
debug printouts for jet algo on/off
edm::Handle< reco::PFClusterCollection > clustersHFEMHandle_
clusters HCAL
bool printClusters_
print clusters yes/no
reco::VertexCollection primaryVertices_
edm::InputTag genParticlesforMETTag_
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
Definition: PFRecHit.h:31
reco::CandidatePtrVector pfCandidatesPtrs_
TTree * outTree_
output tree
void fillOutEventWithClusters(const reco::PFClusterCollection &clusters)
fills OutEvent with clusters
std::auto_ptr< reco::PFClusterCollection > clustersPS_
std::vector< GsfPFRecTrack > GsfPFRecTrackCollection
collection of GsfPFRecTrack objects
void printRecHits(const reco::PFRecHitCollection &rechits, const PFClusterAlgo &clusterAlgo, std::ostream &out=std::cout) const
print rechits
edm::InputTag rechitsHOTag_
reco::GenJetCollection genJetsCMSSW_
edm::Handle< reco::PFClusterCollection > clustersECALHandle_
clusters ECAL
TTree * tree()
get tree
TFile * outFile_
output file
void mcTruthMatching(std::ostream &out, const reco::PFCandidateCollection &candidates, std::vector< std::list< simMatch > > &candSimMatchTrack, std::vector< std::list< simMatch > > &candSimMatchEcal) const
std::pair< std::string, MonitorElement * > entry
Definition: ME_MAP.h:8
PFJetMonitor pfJetMonitor_
std::ofstream * calibFile_
TH1F * h_deltaETvisible_MCPF_
output histo dET ( PF - MC)
edm::InputTag pfNuclearTrackerVertexTag_
TTree * tree_
input tree
edm::InputTag corrcaloJetsTag_
bool doParticleFlow_
particle flow on/off
edm::InputTag genParticlesforJetsTag_
edm::InputTag caloTowersTag_
PFClusterAlgo clusterAlgoHCAL_
clustering algorithm for HCAL
PFCandidateManager pfCandidateManager_
edm::InputTag recTracksTag_
std::auto_ptr< reco::PFCandidateElectronExtraCollection > pfCandidateElectronExtras_
PFCandidateElectronExtra.
reco::PFMETCollection pfMets_
PF MET.
bool printPFCandidates_
print PFCandidates yes/no
std::map< int, EventToEntry > LumisMap
void printClusters(const reco::PFClusterCollection &clusters, std::ostream &out=std::cout) const
print clusters
std::list< std::pair< double, unsigned > >::iterator ITM
reco::PFCandidateCollection pfCandCMSSW_
reco::GsfPFRecTrackCollection gsfrecTracks_
bool useKDTreeTrackEcalLinker_
ECAL-track link optimization.
edm::InputTag genJetsTag_
std::vector< PFV0 > PFV0Collection
collection of PFV0 objects
Definition: PFV0Fwd.h:9
bool usePFConversions_
Use of conversions in PFAlgo.
std::auto_ptr< reco::PFClusterCollection > clustersHO_
bool findRecHitNeighbours_
find rechit neighbours ?
reco::CandidatePtrVector genParticlesforJetsPtrs_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
std::vector< PFBlock > PFBlockCollection
collection of PFBlock objects
Definition: PFBlockFwd.h:11
TH1F * h_deltaETvisible_MCEHT_
output histo dET ( EHT - MC)
virtual bool processEntry(int entry)
process one entry (pass the TTree entry)
edm::InputTag pfJetsTag_
edm::InputTag clustersHCALTag_
reco::PFRecHitCollection rechitsHFEM_
PFAlgo pfAlgo_
particle flow algorithm
true particle for particle flow
Definition: PFSimParticle.h:19
void clustering()
read data from testbeam tree
std::vector< reco::PFRecHitCollection > rechitsCLEANEDV_
rechits HF CLEANED
edm::Handle< reco::PFRecHitCollection > rechitsHOHandle_
rechits HO
edm::InputTag rechitsHFHADTag_
std::string expand(const std::string &oldString) const
void printRecHit(const reco::PFRecHit &rh, unsigned index, const char *seed=" ", std::ostream &out=std::cout) const
tuple out
Definition: dbtoconf.py:99
void fillOutEventWithSimParticles(const reco::PFSimParticleCollection &ptcs)
fills OutEvent with sim particles
virtual bool processEvent(int run, int lumi, int event)
process one event (pass the CMS event number)
std::auto_ptr< reco::PFCandidateCollection > pfCandidates_
reconstructed pfCandidates
bool countChargedAndPhotons() const
reco::PFRecHitCollection rechitsHO_
edm::Handle< reco::PFConversionCollection > conversionHandle_
conversions
void connect(const char *infilename="")
open the root file and connect to the tree
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
reco::GsfPFRecTrackCollection convBremGsfrecTracks_
edm::Handle< reco::GsfElectronCollection > egammaElectronHandle_
void printGenParticles(std::ostream &out=std::cout, int maxNLines=-1) const
print the HepMC truth
reco::GenParticleCollection genParticlesCMSSW_
edm::Handle< reco::GenParticleCollection > genParticlesforMETHandle_
CMSSW GenParticles.
bool doTauBenchmark_
tau benchmark on/off
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
reco::PFJetCollection pfJets_
PF Jets.
edm::InputTag caloMetsTag_
std::auto_ptr< reco::PFClusterCollection > clustersHFEM_
edm::InputTag clustersHFEMTag_
bool eventAccepted() const
returns true if the event is accepted(have a look at the function implementation) ...
edm::InputTag rechitsHCALTag_
tuple tracks
Definition: testEve_cfg.py:39
void printMCCalib(std::ofstream &out) const
print calibration information
reco::PFRecHitCollection rechitsCLEANED_
std::auto_ptr< reco::PFClusterCollection > clustersHFHAD_
edm::Handle< CaloTowerCollection > caloTowersHandle_
input collection of calotowers
std::map< int, LumisMap > RunsMap
PFBlockAlgo pfBlockAlgo_
algorithm for building the particle flow blocks
reco::TrackCollection stdTracks_
bool highPtPFCandidate(double ptMin, reco::PFCandidate::ParticleType type=reco::PFCandidate::X) const
returns true if there is a PFCandidate of a given type over a given pT
reco::CaloMETCollection caloMetsCMSSW_
edm::Handle< reco::PFClusterCollection > clustersPSHandle_
clusters PS
PFClusterAlgo clusterAlgoPS_
clustering algorithm for PS
void setRecHitNeigbours(reco::PFRecHit &rh, const std::map< unsigned, unsigned > &detId2index)
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
edm::Handle< edm::HepMCProduct > MCTruthHandle_
MC truth.
reco::PFDisplacedTrackerVertexCollection pfNuclearTrackerVertex_
edm::HepMCProduct MCTruth_
virtual void readSpecificOptions(const char *file)
virtual ~PFRootEventManager()
destructor
bool doPFJetBenchmark_
PFJet benchmark on/off.
const reco::PFSimParticle & closestParticle(reco::PFTrajectoryPoint::LayerType layer, double eta, double phi, double &peta, double &pphi, double &pe) const
find the closest PFSimParticle to a point (eta,phi) in a given detector
edm::Handle< reco::METCollection > tcMetsHandle_
CMSSW TCMET.
std::auto_ptr< METManager > metManager_
edm::Handle< reco::PFDisplacedTrackerVertexCollection > pfNuclearTrackerVertexHandle_
PFDisplacedVertex.
std::vector< PFJet > PFJetCollection
collection of PFJet objects
edm::Handle< reco::VertexCollection > primaryVerticesHandle_
reconstructed primary vertices
bool useHO_
Use of HO in links with tracks/HCAL and in particle flow reconstruction.
boost::shared_ptr< pftools::PFClusterCalibration > clusterCalibration_
edm::InputTag conversionTag_
bool printSimParticles_
print true particles yes/no
std::vector< reco::PFMET > PFMETCollection
collection of PFMET objects
void reconstructCaloJets()
reconstruct calo jets
edm::Handle< reco::PFRecTrackCollection > displacedRecTracksHandle_
edm::Handle< reco::PFRecHitCollection > rechitsPSHandle_
rechits PS
edm::Handle< std::vector< reco::CaloJet > > corrcaloJetsHandle_
CMSSW corrected calo Jets.
edm::Handle< reco::GsfPFRecTrackCollection > convBremGsfrecTracksHandle_
reconstructed secondary GSF tracks
edm::Handle< reco::PFV0Collection > v0Handle_
V0.
bool useConvBremGsfTracks_
Use Secondary Gsf Tracks.
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
Definition: PFClusterFwd.h:9
std::vector< reco::CaloJet > corrcaloJetsCMSSW_
edm::InputTag pfCandidateTag_
void pfCandCompare(int)
compare particle flow
reco::PFRecHitCollection rechitsECAL_
tuple cout
Definition: gather_cfg.py:121
reco::CaloMETCollection caloMets_
Calo MET.
double MET1cut
PFMET Benchmark.
int verbosity_
verbosity
reco::PFConversionCollection conversion_
PFClusterAlgo clusterAlgoHFHAD_
clustering algorithm for HF, hadronic layer
ROOT interface to particle flow package.
TFile * file_
input file
edm::InputTag tcMetsTag_
std::vector< reco::CaloJet > caloJetsCMSSW_
Definition: PFAlgo.h:48
bool JECinCaloMet_
propagate the Jet Energy Corrections to the caloMET on/off
bool fastsim_
Fastsim or fullsim.
reco::METCollection tcMetsCMSSW_
bool useEGElectrons_
Use EGElectrons.
LayerType
Define the different layers where the track can be propagated.
edm::Handle< reco::PFClusterCollection > clustersHFHADHandle_
clusters HCAL
bool useEGPhotons_
Use EGPhotons.
View_t
viewport definition
void fillRecHitMask(std::vector< bool > &mask, const reco::PFRecHitCollection &rechits) const
rechit mask set to true for rechits inside TCutG
bool trackInsideGCut(const reco::PFTrack &track) const
is PFTrack inside cut G ? yes if at least one trajectory point is inside.
bool doCompare_
comparison with pf CMSSW
std::vector< PFRecTrack > PFRecTrackCollection
collection of PFRecTrack objects
Definition: PFRecTrackFwd.h:9
bool printGenParticles_
print MC truth yes/no
edm::Handle< reco::MuonCollection > muonsHandle_
muons
std::vector< PFDisplacedTrackerVertex > PFDisplacedTrackerVertexCollection
collection of DisplacedTrackerVertexs
void PreprocessRecTracks(reco::PFRecTrackCollection &rectracks)
preprocess a rectrack vector from a given rectrack branch
reco::GsfElectronCollection egammaElectrons_
void fillOutEventWithBlocks(const reco::PFBlockCollection &blocks)
fills outEvent with blocks
std::vector< edm::InputTag > rechitsCLEANEDTags_
edm::InputTag trueParticlesTag_
FWLiteJetProducer jetMaker_
wrapper to official jet algorithms
bool printRecHits_
print rechits yes/no
int jetAlgoType_
jet algo type
edm::Handle< reco::PFRecTrackCollection > recTracksHandle_
reconstructed tracks
Definition: DDAxes.h:10
reco::PFV0Collection v0_
int eventToEntry(int run, int lumi, int event) const