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.7 by loizides, Tue Jul 1 21:11:47 2008 UTC vs.
Revision 1.15 by loizides, Wed Jul 30 08:39:50 2008 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines