--- UserCode/konec/interface/Analysis.h 2007/04/10 13:13:23 1.1 +++ UserCode/konec/interface/Analysis.h 2012/02/17 19:49:25 1.14 @@ -1,6 +1,11 @@ +#ifndef Analysis_H +#define Analysis_H + #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "SimDataFormats/Track/interface/SimTrack.h" +#include "SimDataFormats/Vertex/interface/SimVertex.h" + #include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSets.h" class SeedingHitSet; @@ -8,29 +13,43 @@ class TrackerHitAssociator; class OrderedSeedingHits; class TrackingRegion; class TH1D; -class TFile; -class TProfile; + +#include "DataFormats/TrackReco/interface/TrackFwd.h" +#include "DataFormats/TrackReco/interface/Track.h" + +#include "TObjArray.h" +TObjArray gHistos; #include +#include +#include namespace edm { class Event; class EventSetup; } - class Analysis { public: Analysis(const edm::ParameterSet& conf); ~Analysis(); - void init(const edm::Event& ev, const edm::EventSetup& es); + const SimTrack * bestTrack() const; + const SimVertex * vertex(const SimTrack * track) const; + + void init(const edm::Event& ev, const edm::EventSetup& es, TrackerHitAssociator * ass = 0); + + void checkEfficiency(const reco::TrackCollection & tracks); void checkEfficiency(const OrderedSeedingHits& candidates); - void checkAlgoEfficiency(const ctfseeding::SeedingLayerSets& layersSets, const OrderedSeedingHits& candidates); +// void checkAlgoEfficiency1(const ctfseeding::SeedingLayerSets&, const OrderedSeedingHits& ); +// void checkAlgoEfficiency2(const ctfseeding::SeedingLayerSets&, const OrderedSeedingHits& ); + static void print(const SimTrack & track) ; + static void print(const SimVertex& vertex); + static void print(const reco::Track & track, const math::XYZPoint & bs=math::XYZPoint(0,0,0)); private: unsigned int matchedHits(unsigned int trackId, const SeedingHitSet& hits); bool select(const SimTrack & track) const; - void print(const SimTrack & track) const; + bool compareHitSets(const SeedingHitSet& hits1, const SeedingHitSet& hits2) const; private: edm::ParameterSet theConfig; @@ -40,12 +59,17 @@ private: TrackerHitAssociator * theAssociator; std::vector theSimTracks; + std::vector theSimVertices; - TH1D *hEffPt_N, *hEffPt_D, *hEffAlgoPt_N, *hEffAlgoPt_D; + TH1D *hEffPt_N, *hEffPt_D, *hEffLPt_N, *hEffLPt_D, *hEffAlgoPt_N, *hEffAlgoPt_D; TH1D *hEffEta_N, *hEffEta_D, *hEffAlgoEta_N, *hEffAlgoEta_D; TH1D *hEffPhi_N, *hEffPhi_D; TH1D *hPurePt_N, *hPurePt_D; - TFile * rootFile; + + typedef std::map HMap; + HMap hMap; + }; +#endif