1 |
#include<iostream>
|
2 |
|
3 |
#include "TFile.h"
|
4 |
#include "TTree.h"
|
5 |
#include "TVectorF.h"
|
6 |
#include "TClonesArray.h"
|
7 |
|
8 |
#include "UserCode/DTDPGAnalysis/interface/DefineTreeVariables.h"
|
9 |
|
10 |
#include "DataFormats/BeamSpot/interface/BeamSpot.h"
|
11 |
|
12 |
#include "FWCore/Framework/interface/EDAnalyzer.h"
|
13 |
#include "FWCore/Framework/interface/ESHandle.h"
|
14 |
#include "FWCore/Framework/interface/Event.h"
|
15 |
#include "FWCore/Framework/interface/Frameworkfwd.h"
|
16 |
|
17 |
#include "TrackingTools/GeomPropagators/interface/Propagator.h"
|
18 |
|
19 |
|
20 |
//
|
21 |
// class declaration
|
22 |
//
|
23 |
class TTreeGenerator : public edm::EDAnalyzer {
|
24 |
|
25 |
public:
|
26 |
explicit TTreeGenerator(const edm::ParameterSet&);
|
27 |
~TTreeGenerator() {};
|
28 |
|
29 |
|
30 |
private:
|
31 |
|
32 |
virtual void beginJob() ;
|
33 |
virtual void beginRun(const edm::Run&, const edm::EventSetup&) {};
|
34 |
virtual void analyze(const edm::Event&, const edm::EventSetup&);
|
35 |
virtual void endJob() ;
|
36 |
|
37 |
void initialize_Tree_variables();
|
38 |
inline void clear_Arrays();
|
39 |
|
40 |
void fill_digi_variables(edm::Handle<DTDigiCollection> dtdigis);
|
41 |
void fill_dtsegments_variables(edm::Handle<DTRecSegment4DCollection> segments4D);
|
42 |
void fill_cscsegments_variables(edm::Handle<CSCSegmentCollection> cscsegments);
|
43 |
void fill_dcc_variables(edm::Handle<L1MuDTChambPhContainer> localTriggerDCC);
|
44 |
void fill_dccth_variables(edm::Handle<L1MuDTChambThContainer> localTriggerDCC_Th);
|
45 |
void fill_simdcc_variables(edm::Handle<L1MuDTChambPhContainer> localTriggerDCC);
|
46 |
void fill_simdccth_variables(edm::Handle<L1MuDTChambThContainer> localTriggerDCC_Th);
|
47 |
void fill_ddu_variables(edm::Handle<DTLocalTriggerCollection> localTriggerDDU);
|
48 |
void fill_muons_variables(edm::Handle<reco::MuonCollection> MuList);
|
49 |
void fill_gmt_variables(edm::Handle<L1MuGMTReadoutCollection> gmtrc);
|
50 |
void fill_gt_variables(edm::Handle<L1GlobalTriggerReadoutRecord> gtrr, const L1GtTriggerMenu* menu);
|
51 |
void fill_hlt_variables(const edm::Event& e, edm::Handle<edm::TriggerResults> hltresults);
|
52 |
void fill_rpc_variables(const edm::Event &e, edm::Handle<RPCRecHitCollection> rpcrechits);
|
53 |
void fill_dtphi_info(const DTChamberRecSegment2D* phiSeg,const GeomDet* geomDet);
|
54 |
void fill_dtz_info(const DTSLRecSegment2D* zSeg, const GeomDet* geomDet);
|
55 |
|
56 |
std::vector<L1MuRegionalCand> getBXCands(const L1MuGMTReadoutRecord* igmtrr, const int DetectorType) const;
|
57 |
|
58 |
TrajectoryStateOnSurface cylExtrapTrkSam(reco::TrackRef track, const float rho) const;
|
59 |
FreeTrajectoryState freeTrajStateMuon(const reco::TrackRef track) const;
|
60 |
|
61 |
edm::InputTag dtDigiLabel_;
|
62 |
edm::InputTag dtSegmentLabel_;
|
63 |
edm::InputTag cscSegmentLabel_;
|
64 |
edm::InputTag dtTrigDCCLabel_;
|
65 |
edm::InputTag dtTrigSimDCCLabel_;
|
66 |
edm::InputTag dtTrigDDULabel_;
|
67 |
edm::InputTag staMuLabel_;
|
68 |
edm::InputTag gmtLabel_;
|
69 |
edm::InputTag gtLabel_;
|
70 |
edm::InputTag rpcRecHitLabel_;
|
71 |
|
72 |
edm::InputTag PrimaryVertexTag_;
|
73 |
edm::InputTag beamSpotTag_;
|
74 |
edm::InputTag scalersSource_;
|
75 |
|
76 |
edm::InputTag triggerTag_;
|
77 |
|
78 |
bool runOnRaw_;
|
79 |
bool runOnSimulation_;
|
80 |
|
81 |
std::string outFile_;
|
82 |
|
83 |
edm::ESHandle<MagneticField> theBField;
|
84 |
edm::ESHandle<Propagator> propagatorAlong;
|
85 |
edm::ESHandle<Propagator> propagatorOpposite;
|
86 |
|
87 |
edm::ESHandle<GlobalTrackingGeometry> theTrackingGeometry;
|
88 |
|
89 |
int digisSize_;
|
90 |
int dtsegmentsSize_;
|
91 |
int cscsegmentsSize_;
|
92 |
int dtltDCCSize_;
|
93 |
int dtltDCCThSize_;
|
94 |
int dtltSimDCCSize_;
|
95 |
int dtltSimDCCThSize_;
|
96 |
int dtltDDUSize_;
|
97 |
int gmtSize_;
|
98 |
int STAMuSize_;
|
99 |
int rpcRecHitSize_;
|
100 |
|
101 |
//counters
|
102 |
short idigis;
|
103 |
short idtsegments;
|
104 |
short icscsegments;
|
105 |
short idtltDCC;
|
106 |
short idtltDCC_th;
|
107 |
short idtltSimDCC;
|
108 |
short idtltSimDCC_th;
|
109 |
short idtltDDU;
|
110 |
short imuons;
|
111 |
short igmtdt;
|
112 |
short igmtcands;
|
113 |
short igtalgo;
|
114 |
short igttt;
|
115 |
short ihlt;
|
116 |
short irpcrechits;
|
117 |
|
118 |
reco::BeamSpot beamspot;
|
119 |
|
120 |
TFile *outFile;
|
121 |
TTree *tree_;
|
122 |
|
123 |
};
|