1 |
+ |
#ifndef Analysis_H |
2 |
+ |
#define Analysis_H |
3 |
+ |
|
4 |
|
#include "FWCore/ParameterSet/interface/ParameterSet.h" |
5 |
|
|
6 |
|
#include "SimDataFormats/Track/interface/SimTrack.h" |
7 |
+ |
#include "SimDataFormats/Vertex/interface/SimVertex.h" |
8 |
+ |
|
9 |
|
#include "RecoTracker/TkSeedingLayers/interface/SeedingLayerSets.h" |
10 |
|
|
11 |
|
class SeedingHitSet; |
13 |
|
class OrderedSeedingHits; |
14 |
|
class TrackingRegion; |
15 |
|
class TH1D; |
16 |
< |
class TFile; |
17 |
< |
class TProfile; |
16 |
> |
|
17 |
> |
#include "DataFormats/TrackReco/interface/TrackFwd.h" |
18 |
> |
#include "DataFormats/TrackReco/interface/Track.h" |
19 |
> |
|
20 |
> |
#include "TObjArray.h" |
21 |
> |
TObjArray gHistos; |
22 |
|
|
23 |
|
|
24 |
|
#include <vector> |
25 |
+ |
#include <string> |
26 |
+ |
#include <map> |
27 |
|
|
28 |
|
namespace edm { class Event; class EventSetup; } |
29 |
|
|
19 |
– |
|
30 |
|
class Analysis { |
31 |
|
public: |
32 |
|
|
33 |
|
Analysis(const edm::ParameterSet& conf); |
34 |
|
~Analysis(); |
25 |
– |
void init(const edm::Event& ev, const edm::EventSetup& es); |
35 |
|
|
36 |
+ |
const SimTrack * bestTrack() const; |
37 |
+ |
const SimVertex * vertex(const SimTrack * track) const; |
38 |
+ |
|
39 |
+ |
void init(const edm::Event& ev, const edm::EventSetup& es, TrackerHitAssociator * ass = 0); |
40 |
+ |
|
41 |
+ |
void checkEfficiency(const reco::TrackCollection & tracks); |
42 |
|
void checkEfficiency(const OrderedSeedingHits& candidates); |
43 |
< |
void checkAlgoEfficiency(const ctfseeding::SeedingLayerSets& layersSets, const OrderedSeedingHits& candidates); |
43 |
> |
// void checkAlgoEfficiency1(const ctfseeding::SeedingLayerSets&, const OrderedSeedingHits& ); |
44 |
> |
// void checkAlgoEfficiency2(const ctfseeding::SeedingLayerSets&, const OrderedSeedingHits& ); |
45 |
|
|
46 |
|
static void print(const SimTrack & track) ; |
47 |
+ |
static void print(const SimVertex& vertex); |
48 |
+ |
static void print(const reco::Track & track, const math::XYZPoint & bs=math::XYZPoint(0,0,0)); |
49 |
|
private: |
50 |
|
unsigned int matchedHits(unsigned int trackId, const SeedingHitSet& hits); |
51 |
|
bool select(const SimTrack & track) const; |
52 |
+ |
bool compareHitSets(const SeedingHitSet& hits1, const SeedingHitSet& hits2) const; |
53 |
|
|
54 |
|
private: |
55 |
|
edm::ParameterSet theConfig; |
59 |
|
|
60 |
|
TrackerHitAssociator * theAssociator; |
61 |
|
std::vector<SimTrack> theSimTracks; |
62 |
+ |
std::vector<SimVertex> theSimVertices; |
63 |
|
|
64 |
< |
TH1D *hEffPt_N, *hEffPt_D, *hEffAlgoPt_N, *hEffAlgoPt_D; |
64 |
> |
TH1D *hEffPt_N, *hEffPt_D, *hEffLPt_N, *hEffLPt_D, *hEffAlgoPt_N, *hEffAlgoPt_D; |
65 |
|
TH1D *hEffEta_N, *hEffEta_D, *hEffAlgoEta_N, *hEffAlgoEta_D; |
66 |
|
TH1D *hEffPhi_N, *hEffPhi_D; |
67 |
|
TH1D *hPurePt_N, *hPurePt_D; |
68 |
|
|
69 |
< |
TFile * rootFile; |
69 |
> |
typedef std::map<std::string, TH1D* > HMap; |
70 |
> |
HMap hMap; |
71 |
|
|
72 |
|
|
73 |
|
}; |
74 |
|
|
75 |
+ |
#endif |