Index: classes/DelphesClasses.cc
===================================================================
--- classes/DelphesClasses.cc	(revision 5d2481f190740f8d77d22345c65475d8a124aaeb)
+++ classes/DelphesClasses.cc	(revision 839deb78d75a9bbd7bb170992e9cba9d590e1cfc)
@@ -131,12 +131,9 @@
   NCharged(0),
   NNeutrals(0),
-  NSubJetsTrimmed(0),
-  NSubJetsPruned(0), 
-  NSubJetsSoftDropped(0), 
   Beta(0),
   BetaStar(0),
   MeanSqDeltaR(0),
   PTD(0),
-  Ntimes(-1),
+  NTimeHits(-1),
   IsolationVar(-999),
   IsolationVarRhoCorr(-999),
@@ -145,4 +142,7 @@
   SumPtChargedPU(-999),
   SumPt(-999),
+  NSubJetsTrimmed(0),
+  NSubJetsPruned(0),
+  NSubJetsSoftDropped(0),
   fFactory(0),
   fArray(0)
@@ -274,5 +274,5 @@
   object.MeanSqDeltaR = MeanSqDeltaR;
   object.PTD = PTD;
-  object.Ntimes = Ntimes; 
+  object.NTimeHits = NTimeHits;
   object.IsolationVar = IsolationVar;
   object.IsolationVarRhoCorr = IsolationVarRhoCorr;
@@ -292,5 +292,5 @@
   object.Tau[3] = Tau[3];
   object.Tau[4] = Tau[4];
-  
+
   object.TrimmedP4[0] = TrimmedP4[0];
   object.TrimmedP4[1] = TrimmedP4[1];
@@ -316,6 +316,6 @@
   object.fArray = 0;
 
-  // Copy cluster timing info
-  copy(Ecal_E_t.begin(),Ecal_E_t.end(),back_inserter(object.Ecal_E_t));
+  // copy cluster timing info
+  copy(ECalEnergyTimePairs.begin(), ECalEnergyTimePairs.end(), back_inserter(object.ECalEnergyTimePairs));
 
   if(fArray && fArray->GetEntriesFast() > 0)
@@ -374,8 +374,8 @@
   MeanSqDeltaR = 0.0;
   PTD = 0.0;
-  
-  Ntimes = 0;
-  Ecal_E_t.clear();
-  
+
+  NTimeHits = 0;
+  ECalEnergyTimePairs.clear();
+
   IsolationVar = -999;
   IsolationVarRhoCorr = -999;
@@ -384,5 +384,5 @@
   SumPtChargedPU = -999;
   SumPt = -999;
-  
+
   FracPt[0] = 0.0;
   FracPt[1] = 0.0;
@@ -395,9 +395,9 @@
   Tau[3] = 0.0;
   Tau[4] = 0.0;
-  
+
   for(i = 0; i < 5; ++i)
   {
     TrimmedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
-    PrunedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0); 
+    PrunedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
     SoftDroppedP4[i].SetXYZT(0.0, 0.0, 0.0, 0.0);
   }
@@ -406,5 +406,5 @@
   NSubJetsPruned = 0;
   NSubJetsSoftDropped = 0;
-  
+
   fArray = 0;
 }
Index: classes/DelphesClasses.h
===================================================================
--- classes/DelphesClasses.h	(revision 5d2481f190740f8d77d22345c65475d8a124aaeb)
+++ classes/DelphesClasses.h	(revision 839deb78d75a9bbd7bb170992e9cba9d590e1cfc)
@@ -443,5 +443,5 @@
 
   Float_t T; // ecal deposit time, averaged by sqrt(EM energy) over all particles, not smeared
-  Int_t   Ntimes; // number of hits contributing to time measurement
+  Int_t NTimeHits; // number of hits contributing to time measurement
 
   Float_t Eem; // calorimeter tower electromagnetic energy
@@ -506,7 +506,7 @@
 
   Int_t IsConstituent;
-  
+
   Int_t IsFromConversion;
-  
+
   UInt_t Flavor;
   UInt_t FlavorAlgo;
@@ -528,24 +528,24 @@
   TLorentzVector Momentum, Position, Area;
 
-  Float_t  Dxy;
-  Float_t  SDxy;
-  Float_t  Xd;
-  Float_t  Yd;
-  Float_t  Zd;
+  Float_t Dxy;
+  Float_t SDxy;
+  Float_t Xd;
+  Float_t Yd;
+  Float_t Zd;
 
   // PileUpJetID variables
 
-  Int_t    NCharged;
-  Int_t    NNeutrals;
-  Float_t  Beta;
-  Float_t  BetaStar;
-  Float_t  MeanSqDeltaR;
-  Float_t  PTD;
-  Float_t  FracPt[5];
-
-  //Timing information
-
-  Int_t    Ntimes;
-  std::vector<std::pair<Float_t,Float_t> > Ecal_E_t;
+  Int_t NCharged;
+  Int_t NNeutrals;
+  Float_t Beta;
+  Float_t BetaStar;
+  Float_t MeanSqDeltaR;
+  Float_t PTD;
+  Float_t FracPt[5];
+
+  // Timing information
+
+  Int_t NTimeHits;
+  std::vector< std::pair< Float_t, Float_t > > ECalEnergyTimePairs;
 
   // Isolation variables
Index: modules/Calorimeter.cc
===================================================================
--- modules/Calorimeter.cc	(revision 5d2481f190740f8d77d22345c65475d8a124aaeb)
+++ modules/Calorimeter.cc	(revision 839deb78d75a9bbd7bb170992e9cba9d590e1cfc)
@@ -142,14 +142,6 @@
   }
 
-/*
-  TFractionMap::iterator itFractionMap;
-  for(itFractionMap = fFractionMap.begin(); itFractionMap != fFractionMap.end(); ++itFractionMap)
-  {
-    cout << itFractionMap->first << "   " << itFractionMap->second.first  << "   " << itFractionMap->second.second << endl;
-  }
-*/
-
   // read min E value for timing measurement in ECAL
-  fTimingEMin = GetDouble("TimingEMin",4.);
+  fTimingEnergyMin = GetDouble("TimingEnergyMin",4.);
   // For timing
   // So far this flag needs to be false
@@ -157,5 +149,4 @@
   fElectronsFromTrack = false;
 
-  
   // read min E value for towers to be saved
   fECalEnergyMin = GetDouble("ECalEnergyMin", 0.0);
@@ -385,26 +376,11 @@
       fTrackHCalEnergy += hcalEnergy;
 
-      bool dbg_scz = false;
-      if (dbg_scz) {
-	cout << "   Calorimeter input track has x y z t " << track->Position.X() << " " << track->Position.Y() << " " << track->Position.Z() << " " << track->Position.T() 
-	     << endl;
-	Candidate *prt = static_cast<Candidate*>(track->GetCandidates()->Last());
-	const TLorentzVector &ini = prt->Position;
-
-	cout << "                and parent has x y z t " << ini.X() << " " << ini.Y() << " " << ini.Z() << " " << ini.T();
-
+      if(ecalEnergy > fTimingEnergyMin && fTower)
+      {
+        if(fElectronsFromTrack)
+        {
+          fTower->ECalEnergyTimePairs.push_back(make_pair<Float_t, Float_t>(ecalEnergy, track->Position.T()));
+        }
       }
-      
-      if (ecalEnergy > fTimingEMin && fTower) {
-	if (fElectronsFromTrack) {
-	  //	  cout << " SCZ Debug pushing back track hit E=" << ecalEnergy << " T=" << track->Position.T() << " isPU=" << track->IsPU << " isRecoPU=" << track->IsRecoPU 
-	  //	       << " PID=" << track->PID << endl;
-	  fTower->Ecal_E_t.push_back(std::make_pair<float,float>(ecalEnergy,track->Position.T()));
-	} else {
-	  //	  cout << " Skipping track hit E=" << ecalEnergy << " T=" << track->Position.T() << " isPU=" << track->IsPU << " isRecoPU=" << track->IsRecoPU 
-	  //	       << " PID=" << track->PID << endl;
-	}
-      }
-
 
       fTowerTrackArray->Add(track);
@@ -412,5 +388,5 @@
       continue;
     }
-  
+
     // check for photon and electron hits in current tower
     if(flags & 2) ++fTowerPhotonHits;
@@ -427,15 +403,9 @@
     fTowerHCalEnergy += hcalEnergy;
 
-    if (ecalEnergy > fTimingEMin && fTower) {
-      if (abs(particle->PID) != 11 || !fElectronsFromTrack) {
-	//	cout << " SCZ Debug About to push back particle hit E=" << ecalEnergy << " T=" << particle->Position.T() << " isPU=" << particle->IsPU 
-	//   << " PID=" << particle->PID << endl;
-	fTower->Ecal_E_t.push_back(std::make_pair<Float_t,Float_t>(ecalEnergy,particle->Position.T()));
-      } else {
-	
-	// N.B. Only charged particle set to leave ecal energy is the electrons
-	//	cout << " SCZ Debug To avoid double-counting, skipping particle hit E=" << ecalEnergy << " T=" << particle->Position.T() << " isPU=" << particle->IsPU 
-	//	     << " PID=" << particle->PID << endl;
-	
+    if(ecalEnergy > fTimingEnergyMin && fTower)
+    {
+      if (abs(particle->PID) != 11 || !fElectronsFromTrack)
+      {
+        fTower->ECalEnergyTimePairs.push_back(make_pair<Float_t, Float_t>(ecalEnergy, particle->Position.T()));
       }
     }
@@ -456,5 +426,6 @@
   Double_t ecalEnergy, hcalEnergy;
   Double_t ecalSigma, hcalSigma;
- 
+  Float_t weight, sumWeightedTime, sumWeight;
+
   if(!fTower) return;
 
@@ -472,5 +443,5 @@
 
   energy = ecalEnergy + hcalEnergy;
-    
+
   if(fSmearTowerCenter)
   {
@@ -487,20 +458,23 @@
 
   // Time calculation for tower
-  fTower->Ntimes = 0;
-  Float_t tow_sumT = 0;
-  Float_t tow_sumW = 0;
-  
-  for (Int_t i = 0 ; i < fTower->Ecal_E_t.size() ; i++) 
-  {
-    Float_t w = TMath::Sqrt(fTower->Ecal_E_t[i].first);
-    tow_sumT += w*fTower->Ecal_E_t[i].second;
-    tow_sumW += w;
-    fTower->Ntimes++;
-  }
-  
-  if (tow_sumW > 0.) {
-    fTower->Position.SetPtEtaPhiE(1.0, eta, phi,tow_sumT/tow_sumW);
-  } else {
-    fTower->Position.SetPtEtaPhiE(1.0,eta,phi,999999.);
+  fTower->NTimeHits = 0;
+  sumWeightedTime = 0.0;
+  sumWeight = 0.0;
+
+  for(size_t i = 0; i < fTower->ECalEnergyTimePairs.size(); ++i)
+  {
+    weight = TMath::Sqrt(fTower->ECalEnergyTimePairs[i].first);
+    sumWeightedTime += weight * fTower->ECalEnergyTimePairs[i].second;
+    sumWeight += weight;
+    fTower->NTimeHits++;
+  }
+
+  if(sumWeight > 0.0)
+  {
+    fTower->Position.SetPtEtaPhiE(1.0, eta, phi, sumWeightedTime/sumWeight);
+  }
+  else
+  {
+    fTower->Position.SetPtEtaPhiE(1.0, eta, phi, 999999.9);
   }
 
Index: modules/Calorimeter.h
===================================================================
--- modules/Calorimeter.h	(revision 5d2481f190740f8d77d22345c65475d8a124aaeb)
+++ modules/Calorimeter.h	(revision 839deb78d75a9bbd7bb170992e9cba9d590e1cfc)
@@ -60,7 +60,7 @@
   Double_t fTrackECalEnergy, fTrackHCalEnergy;
 
-  Double_t fTimingEMin;
-  Bool_t fElectronsFromTrack; // for timing
-  
+  Double_t fTimingEnergyMin;
+  Bool_t fElectronsFromTrack;
+
   Int_t fTowerTrackHits, fTowerPhotonHits;
 
Index: modules/PileUpJetID.cc
===================================================================
--- modules/PileUpJetID.cc	(revision 5d2481f190740f8d77d22345c65475d8a124aaeb)
+++ modules/PileUpJetID.cc	(revision 839deb78d75a9bbd7bb170992e9cba9d590e1cfc)
@@ -154,5 +154,5 @@
     float sumT40 = 0.;
     float sumWeightsForT = 0.;
-    candidate->Ntimes = 0;
+    candidate->NTimeHits = 0;
 
     float sumpt = 0.;
@@ -197,18 +197,18 @@
 	float tow_sumT = 0;
 	float tow_sumW = 0;
-	for (int i = 0 ; i < constituent->Ecal_E_t.size() ; i++) {
-	  float w = TMath::Sqrt(constituent->Ecal_E_t[i].first);
+	for (int i = 0 ; i < constituent->ECalEnergyTimePairs.size() ; i++) {
+	  float w = TMath::Sqrt(constituent->ECalEnergyTimePairs[i].first);
 	  if (fAverageEachTower) {
-            tow_sumT += w*constituent->Ecal_E_t[i].second;
+            tow_sumT += w*constituent->ECalEnergyTimePairs[i].second;
             tow_sumW += w;
 	  } else {
-	    sumT0 += w*constituent->Ecal_E_t[i].second;
-	    sumT1 += w*gRandom->Gaus(constituent->Ecal_E_t[i].second,0.001);
-	    sumT10 += w*gRandom->Gaus(constituent->Ecal_E_t[i].second,0.010);
-	    sumT20 += w*gRandom->Gaus(constituent->Ecal_E_t[i].second,0.020);
-	    sumT30 += w*gRandom->Gaus(constituent->Ecal_E_t[i].second,0.030);
-	    sumT40 += w*gRandom->Gaus(constituent->Ecal_E_t[i].second,0.040);
+	    sumT0 += w*constituent->ECalEnergyTimePairs[i].second;
+	    sumT1 += w*gRandom->Gaus(constituent->ECalEnergyTimePairs[i].second,0.001);
+	    sumT10 += w*gRandom->Gaus(constituent->ECalEnergyTimePairs[i].second,0.010);
+	    sumT20 += w*gRandom->Gaus(constituent->ECalEnergyTimePairs[i].second,0.020);
+	    sumT30 += w*gRandom->Gaus(constituent->ECalEnergyTimePairs[i].second,0.030);
+	    sumT40 += w*gRandom->Gaus(constituent->ECalEnergyTimePairs[i].second,0.040);
 	    sumWeightsForT += w;
-	    candidate->Ntimes++;
+	    candidate->NTimeHits++;
 	  }
 	}
@@ -221,5 +221,5 @@
           sumT40 += tow_sumW*gRandom->Gaus(tow_sumT/tow_sumW,0.0040);
 	  sumWeightsForT += tow_sumW;
-	  candidate->Ntimes++;
+	  candidate->NTimeHits++;
 	}
       }
Index: modules/TreeWriter.cc
===================================================================
--- modules/TreeWriter.cc	(revision 5d2481f190740f8d77d22345c65475d8a124aaeb)
+++ modules/TreeWriter.cc	(revision 839deb78d75a9bbd7bb170992e9cba9d590e1cfc)
@@ -362,5 +362,5 @@
 
     entry->T = position.T()*1.0E-3/c_light;
-    entry->Ntimes = candidate->Ntimes;
+    entry->NTimeHits = candidate->NTimeHits;
 
     FillParticles(candidate, &entry->Particles);
