ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/src/FillMitTree.cc
(Generate patch)

Comparing UserCode/MitProd/TreeFiller/src/FillMitTree.cc (file contents):
Revision 1.4 by loizides, Fri Jun 20 17:52:57 2008 UTC vs.
Revision 1.11 by loizides, Mon Jul 7 16:14:01 2008 UTC

# Line 4 | Line 4
4   #include "FWCore/MessageLogger/interface/MessageLogger.h"
5   #include "FWCore/ServiceRegistry/interface/Service.h"
6   #include "MitProd/TreeService/interface/TreeService.h"
7 + #include "MitProd/TreeFiller/interface/AssociationMaps.h"
8   #include "MitProd/TreeFiller/interface/FillerMetaInfos.h"
9 < #include "MitProd/TreeFiller/interface/FillerGlobalMuons.h"
9 > #include "MitProd/TreeFiller/interface/FillerTracks.h"
10 > #include "MitProd/TreeFiller/interface/FillerGsfTracks.h"
11 > #include "MitProd/TreeFiller/interface/FillerMuons.h"
12 > #include "MitProd/TreeFiller/interface/FillerElectrons.h"
13 > #include "MitProd/TreeFiller/interface/FillerElectrons.h"
14 > #include "MitProd/TreeFiller/interface/FillerCaloJets.h"
15 > #include "MitProd/TreeFiller/interface/FillerCaloMet.h"
16 > #include "MitProd/TreeFiller/interface/FillerConversions.h"
17 > #include "MitProd/TreeFiller/interface/FillerConversionElectrons.h"
18 > #include "MitProd/TreeFiller/interface/FillerPhotons.h"
19 > #include "MitProd/TreeFiller/interface/FillerGenParts.h"
20 > #include "MitProd/TreeFiller/interface/FillerSimParticles.h"
21  
22   using namespace std;
23   using namespace edm;
24   using namespace mithep;
25  
26 < //-------------------------------------------------------------------------------------------------
27 < FillMitTree::FillMitTree(const edm::ParameterSet &cfg)
26 > //--------------------------------------------------------------------------------------------------
27 > FillMitTree::FillMitTree(const edm::ParameterSet &cfg) :
28 >  defactive_(cfg.getUntrackedParameter<bool>("defactive",1))
29   {
30 <  // Constructor: initialize fillers
31 <
30 >  // Constructor.
31 >    
32    if (!configure(cfg)) {
33      throw edm::Exception(edm::errors::Configuration, "FillMitTree::FillMitTree()\n")
34        << "Could not configure fillers." << "\n";
35    }
36   }
37  
38 < //-------------------------------------------------------------------------------------------------
38 > //--------------------------------------------------------------------------------------------------
39   FillMitTree::~FillMitTree()
40   {
41    // Destructor: nothing to be done here.
42   }
43  
44 < //-------------------------------------------------------------------------------------------------
44 > //--------------------------------------------------------------------------------------------------
45   void FillMitTree::analyze(const edm::Event      &event,
46                            const edm::EventSetup &setup)
47   {
# Line 45 | Line 58 | void FillMitTree::analyze(const edm::Eve
58    }
59   }
60  
61 < //-------------------------------------------------------------------------------------------------
61 > //--------------------------------------------------------------------------------------------------
62   void FillMitTree::beginJob(const edm::EventSetup &event)
63   {
64    // Access the tree and book branches.
# Line 57 | Line 70 | void FillMitTree::beginJob(const edm::Ev
70        << "Could not get pointer to tree." << "\n";
71      return;
72    }
73 <
73 >  
74    // Loop over the various components and book the branches
75    for (std::vector<BaseFiller*>::iterator iF = fillers_.begin(); iF != fillers_.end(); ++iF) {
76      (*iF)->BookDataBlock(*tws);
77    }
78   }
79  
80 < //-------------------------------------------------------------------------------------------------
80 > //--------------------------------------------------------------------------------------------------
81   bool FillMitTree::configure(const edm::ParameterSet &cfg)
82   {
83    // Configure our fillers.
84  
72
85    FillerMetaInfos *fillerMetaInfos = new FillerMetaInfos(cfg);
86    if (fillerMetaInfos->Active())
87      fillers_.push_back(fillerMetaInfos);
88 <  else
88 >  else {
89      delete fillerMetaInfos;
90 +    fillerMetaInfos = 0;
91 +  }
92 +
93 +  FillerGenParts *fillerGenParts = new FillerGenParts(cfg,defactive_);
94 +  const GenParticleMap* genParticleMap = 0;
95 +  if (fillerGenParts->Active()) {
96 +    fillers_.push_back(fillerGenParts);
97 +    genParticleMap = fillerGenParts->GetGenParticleMap();
98 +  }
99 +  else {
100 +    delete fillerGenParts;  
101 +    fillerGenParts = 0;
102 +  }
103 +
104 +  FillerSimParticles *fillerSimParticles = new FillerSimParticles(cfg,defactive_,genParticleMap);
105 +  const SimParticleMap *simParticleMap = 0;
106 +  if (fillerSimParticles->Active()) {
107 +    fillers_.push_back(fillerSimParticles);
108 +    simParticleMap = fillerSimParticles->GetSimParticleMap();
109 +  }
110 +  else {
111 +    delete fillerSimParticles;  
112 +    fillerSimParticles = 0;
113 +  }
114 +
115 +  FillerCaloJets *fillerCaloJets = new FillerCaloJets(cfg,"CaloJets",defactive_);
116 +  if (fillerCaloJets->Active()) {
117 +    fillers_.push_back(fillerCaloJets);
118 +  }
119 +  else {
120 +    delete fillerCaloJets;
121 +    fillerCaloJets = 0;
122 +  }
123 +
124 +  FillerCaloMet *fillerCaloMet = new FillerCaloMet(cfg,"CaloMet",defactive_);
125 +  if (fillerCaloMet->Active()) {
126 +    fillers_.push_back(fillerCaloMet);
127 +  }
128 +  else {
129 +    delete fillerCaloMet;
130 +    fillerCaloMet = 0;
131 +  }
132 +
133 +  FillerTracks *fillerGeneralTracks =
134 +    new FillerTracks(cfg,"GeneralTracks",defactive_,simParticleMap);
135 +  const TrackMap *generalTrackMap=0;
136 +  if (fillerGeneralTracks->Active()) {
137 +    fillers_.push_back(fillerGeneralTracks);
138 +    generalTrackMap = fillerGeneralTracks->GetTrackMap();
139 +  }
140 +  else {
141 +    delete fillerGeneralTracks;
142 +    fillerGeneralTracks = 0;
143 +  }
144 +
145 +  FillerTracks *fillerStandaloneMuonTracks =
146 +    new FillerTracks(cfg,"StandaloneMuonTracks",defactive_);
147 +  const TrackMap *standaloneMuonTrackMap=0;
148 +  if (fillerStandaloneMuonTracks->Active()) {
149 +    fillers_.push_back(fillerStandaloneMuonTracks);
150 +    standaloneMuonTrackMap = fillerStandaloneMuonTracks->GetTrackMap();
151 +  }
152 +  else {
153 +    delete fillerStandaloneMuonTracks;
154 +    fillerStandaloneMuonTracks = 0;
155 +  }
156  
157 <  FillerGlobalMuons *fillerGlobalMuons = new FillerGlobalMuons(cfg);
158 <  if (fillerGlobalMuons->Active())
159 <    fillers_.push_back(fillerGlobalMuons);
160 <  else
161 <    delete fillerGlobalMuons;
157 >  FillerTracks *fillerStandaloneMuonTracksVtx =
158 >    new FillerTracks(cfg,"StandaloneMuonTracksWVtxConstraint",defactive_);
159 >  const TrackMap *standaloneMuonTrackVtxMap=0;
160 >  if (fillerStandaloneMuonTracksVtx->Active()) {
161 >    fillers_.push_back(fillerStandaloneMuonTracksVtx);
162 >    standaloneMuonTrackVtxMap = fillerStandaloneMuonTracksVtx->GetTrackMap();
163 >  }
164 >  else {
165 >    delete fillerStandaloneMuonTracksVtx;
166 >    fillerStandaloneMuonTracksVtx = 0;
167 >  }
168 >
169 >  FillerTracks *fillerGlobalMuonTracks = new FillerTracks(cfg,"GlobalMuonTracks",defactive_);
170 >  const TrackMap *globalMuonTrackMap=0;
171 >  if (fillerGlobalMuonTracks->Active()) {
172 >    fillers_.push_back(fillerGlobalMuonTracks);
173 >    globalMuonTrackMap = fillerGlobalMuonTracks->GetTrackMap();
174 >  }
175 >  else {
176 >    delete fillerGlobalMuonTracks;  
177 >    fillerGlobalMuonTracks = 0;
178 >  }
179 >    
180 >  FillerTracks *fillerConversionInOutTracks =
181 >    new FillerTracks(cfg,"ConversionInOutTracks",defactive_,simParticleMap);
182 >  const TrackMap *conversionInOutTrackMap=0;
183 >  const TrackCol *conversionInOutTracks=0;
184 >  if (fillerConversionInOutTracks->Active()) {
185 >    fillers_.push_back(fillerConversionInOutTracks);
186 >    conversionInOutTrackMap = fillerConversionInOutTracks->GetTrackMap();
187 >    conversionInOutTracks = fillerConversionInOutTracks->GetTrackCol();
188 >  }
189 >  else {
190 >    delete fillerConversionInOutTracks;
191 >    fillerConversionInOutTracks = 0;
192 >  }
193 >
194 >  FillerTracks *fillerConversionOutInTracks =
195 >    new FillerTracks(cfg,"ConversionOutInTracks",defactive_,simParticleMap);
196 >  const TrackMap *conversionOutInTrackMap=0;
197 >  const TrackCol *conversionOutInTracks=0;
198 >  if (fillerConversionOutInTracks->Active()) {
199 >    fillers_.push_back(fillerConversionOutInTracks);
200 >    conversionOutInTrackMap = fillerConversionOutInTracks->GetTrackMap();
201 >    conversionOutInTracks = fillerConversionOutInTracks->GetTrackCol();
202 >  }
203 >  else {
204 >    delete fillerConversionOutInTracks;
205 >    fillerConversionOutInTracks = 0;
206 >  }
207 >
208 >  FillerGsfTracks *fillerGsfTracks =
209 >    new FillerGsfTracks(cfg,"GsfTracks",defactive_,simParticleMap);
210 >  const GsfTrackMap *gsfTrackMap=0;
211 >  if (fillerGsfTracks->Active()) {
212 >    fillers_.push_back(fillerGsfTracks);
213 >    gsfTrackMap = (GsfTrackMap*)fillerGsfTracks->GetTrackMap();
214 >  }
215 >  else {
216 >    delete fillerGsfTracks;
217 >    fillerGsfTracks = 0;
218 >  }
219 >
220 >  FillerMuons *fillerMuons =
221 >    new FillerMuons(cfg,defactive_,globalMuonTrackMap,standaloneMuonTrackMap,
222 >                    standaloneMuonTrackVtxMap,generalTrackMap);
223 >  if (fillerMuons->Active())
224 >    fillers_.push_back(fillerMuons);
225 >  else {
226 >    delete fillerMuons;
227 >    fillerMuons = 0;
228 >  }
229 >
230 >  FillerElectrons *fillerElectrons =
231 >    new FillerElectrons(cfg,defactive_,gsfTrackMap,generalTrackMap);
232 >  if (fillerElectrons->Active())
233 >    fillers_.push_back(fillerElectrons);
234 >  else {
235 >    delete fillerElectrons;
236 >      fillerElectrons = 0;
237 >  }
238 >
239 >  FillerConversionElectrons *fillerConversionElectrons =
240 >    new FillerConversionElectrons(cfg, defactive_, conversionInOutTracks, conversionOutInTracks,
241 >                                  conversionInOutTrackMap, conversionOutInTrackMap);
242 >  const ConversionElectronMap *convElectronMap=0;
243 >  if (fillerConversionElectrons->Active()) {
244 >    fillers_.push_back(fillerConversionElectrons);
245 >    convElectronMap = fillerConversionElectrons->GetConversionElectronMap();
246 >  }
247 >  else {
248 >    delete fillerConversionElectrons;
249 >    fillerConversionElectrons = 0;
250 >  }
251 >
252 >  FillerConversions *fillerConversions = new FillerConversions(cfg, defactive_, convElectronMap);
253 >  const ConversionMap *conversionMap=0;
254 >  if (fillerConversions->Active()) {
255 >    fillers_.push_back(fillerConversions);
256 >    conversionMap = fillerConversions->GetConversionMap();
257 >  }
258 >  else {
259 >    delete fillerConversions;
260 >    fillerConversions = 0;
261 >  }
262 >
263 >  FillerPhotons *fillerPhotons = new FillerPhotons(cfg, defactive_, conversionMap);
264 >  if (fillerPhotons->Active())
265 >    fillers_.push_back(fillerPhotons);
266 >  else {
267 >    delete fillerPhotons;
268 >    fillerPhotons = 0;
269 >  }
270  
271    return 1;
272   }
273  
274 < //-------------------------------------------------------------------------------------------------
274 > //--------------------------------------------------------------------------------------------------
275   void FillMitTree::endJob()
276   {
277    // Delete fillers.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines