ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/DTDPGAnalysis/interface/TTreeGenerator.h
Revision: 1.9
Committed: Wed Mar 16 10:05:07 2011 UTC (14 years, 1 month ago) by battilan
Content type: text/plain
Branch: MAIN
CVS Tags: V00-00-15
Changes since 1.8: +2 -2 lines
Log Message:
added branches to store RecHit position in chamb coordinates

File Contents

# User Rev Content
1 pellicci 1.1 #include<iostream>
2    
3     #include "TFile.h"
4     #include "TTree.h"
5     #include "TVectorF.h"
6     #include "TClonesArray.h"
7    
8 pellicci 1.2 #include "UserCode/DTDPGAnalysis/interface/DefineTreeVariables.h"
9 pellicci 1.1
10 pellicci 1.5 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
11    
12 pellicci 1.1 #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 battilan 1.6
20 pellicci 1.1 //
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 gmasetti 1.7 void fill_dccth_variables(edm::Handle<L1MuDTChambThContainer> localTriggerDCC_Th);
45 pellicci 1.1 void fill_ddu_variables(edm::Handle<DTLocalTriggerCollection> localTriggerDDU);
46     void fill_muons_variables(edm::Handle<reco::MuonCollection> MuList);
47     void fill_gmt_variables(edm::Handle<L1MuGMTReadoutCollection> gmtrc);
48 battilan 1.8 void fill_gt_variables(edm::Handle<L1GlobalTriggerReadoutRecord> gtrr, const L1GtTriggerMenu* menu);
49     void fill_hlt_variables(const edm::Event& e, edm::Handle<edm::TriggerResults> hltresults);
50 pellicci 1.1
51 battilan 1.9 void fill_dtphi_info(const DTChamberRecSegment2D* phiSeg,const GeomDet* geomDet);
52     void fill_dtz_info(const DTSLRecSegment2D* zSeg, const GeomDet* geomDet);
53 pellicci 1.1
54     std::vector<L1MuRegionalCand> getBXCands(const L1MuGMTReadoutRecord* igmtrr, const int DetectorType) const;
55    
56     TrajectoryStateOnSurface cylExtrapTrkSam(reco::TrackRef track, const float rho) const;
57     FreeTrajectoryState freeTrajStateMuon(const reco::TrackRef track) const;
58    
59     edm::InputTag dtDigiLabel_;
60     edm::InputTag dtSegmentLabel_;
61     edm::InputTag cscSegmentLabel_;
62     edm::InputTag dtTrigDCCLabel_;
63     edm::InputTag dtTrigDDULabel_;
64     edm::InputTag staMuLabel_;
65     edm::InputTag gmtLabel_;
66 battilan 1.8 edm::InputTag gtLabel_;
67 pellicci 1.1
68     edm::InputTag PrimaryVertexTag_;
69 pellicci 1.5 edm::InputTag beamSpotTag_;
70 pellicci 1.1
71     edm::InputTag triggerTag_;
72    
73 pellicci 1.3 bool runOnRaw_;
74 battilan 1.6 bool runOnSimulation_;
75    
76     std::string outFile_;
77 pellicci 1.3
78 pellicci 1.1 edm::ESHandle<MagneticField> theBField;
79     edm::ESHandle<Propagator> propagatorAlong;
80     edm::ESHandle<Propagator> propagatorOpposite;
81    
82     edm::ESHandle<GlobalTrackingGeometry> theTrackingGeometry;
83    
84     int digisSize_;
85     int dtsegmentsSize_;
86     int cscsegmentsSize_;
87     int dtltDCCSize_;
88 gmasetti 1.7 int dtltDCCThSize_;
89 pellicci 1.1 int dtltDDUSize_;
90     int gmtSize_;
91     int STAMuSize_;
92    
93     //counters
94     short idigis;
95     short idtsegments;
96     short icscsegments;
97     short idtltDCC;
98 gmasetti 1.7 short idtltDCC_th;
99 pellicci 1.1 short idtltDDU;
100     short imuons;
101     short igmtdt;
102     short igmtcands;
103 battilan 1.8 short igtalgo;
104     short igttt;
105     short ihlt;
106 pellicci 1.1
107 pellicci 1.5 reco::BeamSpot beamspot;
108    
109 pellicci 1.1 TFile *outFile;
110     TTree *tree_;
111    
112     };