- Timestamp:
- Feb 12, 2019, 9:29:17 PM (6 years ago)
- Branches:
- ImprovedOutputFile, Timing, llp, master
- Children:
- 6455202
- Parents:
- 45e58be
- Location:
- external/ExRootAnalysis
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
external/ExRootAnalysis/ExRootClassifier.h
r45e58be r341014c 11 11 virtual ~ExRootClassifier() {} 12 12 virtual Int_t GetCategory(TObject *object) = 0; 13 14 13 }; 15 14 16 15 #endif /* ExRootClassifier */ 17 -
external/ExRootAnalysis/ExRootConfReader.cc
r45e58be r341014c 14 14 #include "TSystem.h" 15 15 16 #include <fstream> 17 #include <iomanip> 16 18 #include <iostream> 17 #include < iomanip>18 #include < fstream>19 #include <sstream> 20 #include <stdexcept> 19 21 #include <string> 20 #include <stdexcept>21 #include <sstream>22 22 23 23 using namespace std; … … 186 186 int ModuleObjCmdProc(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) 187 187 { 188 ExRootConfReader *reader = static_cast<ExRootConfReader *>(clientData);188 ExRootConfReader *reader = static_cast<ExRootConfReader *>(clientData); 189 189 190 190 if(objc < 3) … … 203 203 Tcl_ListObjAppendElement(interp, object, Tcl_NewStringObj("namespace", -1)); 204 204 Tcl_ListObjAppendElement(interp, object, Tcl_NewStringObj("eval", -1)); 205 Tcl_ListObjAppendList(interp, object, Tcl_NewListObj(objc -2, objv+2));205 Tcl_ListObjAppendList(interp, object, Tcl_NewListObj(objc - 2, objv + 2)); 206 206 207 207 return Tcl_GlobalEvalObj(interp, object); … … 215 215 int SourceObjCmdProc(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) 216 216 { 217 ExRootConfReader *reader = static_cast<ExRootConfReader *>(clientData);217 ExRootConfReader *reader = static_cast<ExRootConfReader *>(clientData); 218 218 stringstream fileName; 219 219 … … 245 245 if(fObject && TCL_OK != Tcl_GetIntFromObj(fTclInterp, fObject, &result)) 246 246 { 247 message << "parameter '" << fName << "' is not an integer." << endl;247 message << "parameter '" << fName << "' is not an integer." << endl; 248 248 message << fName << " = " << Tcl_GetStringFromObj(fObject, 0); 249 249 throw runtime_error(message.str()); … … 260 260 if(fObject && TCL_OK != Tcl_GetLongFromObj(fTclInterp, fObject, &result)) 261 261 { 262 message << "parameter '" << fName << "' is not an long integer." << endl;262 message << "parameter '" << fName << "' is not an long integer." << endl; 263 263 message << fName << " = " << Tcl_GetStringFromObj(fObject, 0); 264 264 throw runtime_error(message.str()); … … 275 275 if(fObject && TCL_OK != Tcl_GetDoubleFromObj(fTclInterp, fObject, &result)) 276 276 { 277 message << "parameter '" << fName << "' is not a number." << endl;277 message << "parameter '" << fName << "' is not a number." << endl; 278 278 message << fName << " = " << Tcl_GetStringFromObj(fObject, 0); 279 279 throw runtime_error(message.str()); … … 290 290 if(fObject && TCL_OK != Tcl_GetBooleanFromObj(fTclInterp, fObject, &result)) 291 291 { 292 message << "parameter '" << fName << "' is not a boolean." << endl;292 message << "parameter '" << fName << "' is not a boolean." << endl; 293 293 message << fName << " = " << Tcl_GetStringFromObj(fObject, 0); 294 294 throw runtime_error(message.str()); … … 314 314 if(fObject && TCL_OK != Tcl_ListObjLength(fTclInterp, fObject, &length)) 315 315 { 316 message << "parameter '" << fName << "' is not a list." << endl;316 message << "parameter '" << fName << "' is not a list." << endl; 317 317 message << fName << " = " << Tcl_GetStringFromObj(fObject, 0); 318 318 throw runtime_error(message.str()); … … 329 329 if(fObject && TCL_OK != Tcl_ListObjIndex(fTclInterp, fObject, index, &object)) 330 330 { 331 message << "parameter '" << fName << "' is not a list." << endl;331 message << "parameter '" << fName << "' is not a list." << endl; 332 332 message << fName << " = " << Tcl_GetStringFromObj(fObject, 0); 333 333 throw runtime_error(message.str()); -
external/ExRootAnalysis/ExRootConfReader.h
r45e58be r341014c 21 21 { 22 22 public: 23 24 23 ExRootConfParam(const char *name = 0, Tcl_Obj *object = 0, Tcl_Interp *interp = 0); 25 24 … … 34 33 35 34 private: 36 37 35 const char *fName; //! 38 36 Tcl_Obj *fObject; //! … … 42 40 //------------------------------------------------------------------------------ 43 41 44 class ExRootConfReader 42 class ExRootConfReader: public TNamed 45 43 { 46 44 public: … … 66 64 67 65 private: 68 69 66 const char *fTopDir; //! 70 67 … … 77 74 78 75 #endif 79 -
external/ExRootAnalysis/ExRootFilter.cc
r45e58be r341014c 11 11 #include "ExRootAnalysis/ExRootClassifier.h" 12 12 13 #include "TObjArray.h" 13 14 #include "TSeqCollection.h" 14 #include "TObjArray.h"15 15 16 16 #include <iostream> 17 #include <sstream> 17 18 #include <stdexcept> 18 #include <sstream>19 19 20 20 using namespace std; 21 21 22 typedef map<Int_t, TObjArray *> TCategoryMap;23 typedef map<ExRootClassifier *, pair<Bool_t, TCategoryMap>> TClassifierMap;22 typedef map<Int_t, TObjArray *> TCategoryMap; 23 typedef map<ExRootClassifier *, pair<Bool_t, TCategoryMap>> TClassifierMap; 24 24 25 25 ExRootFilter::ExRootFilter(const TSeqCollection *collection) : … … 40 40 itSubMap != itMap->second.second.end(); ++itSubMap) 41 41 { 42 delete 42 delete(itSubMap->second); 43 43 } 44 44 } … … 132 132 133 133 //------------------------------------------------------------------------------ 134 -
external/ExRootAnalysis/ExRootFilter.h
r45e58be r341014c 14 14 { 15 15 public: 16 17 16 ExRootFilter(const TSeqCollection *collection); 18 17 ~ExRootFilter(); … … 23 22 24 23 private: 25 26 24 const TSeqCollection *fCollection; //! 27 25 TIterator *fIter; //! 28 26 29 std::map<ExRootClassifier*, std::pair<Bool_t, std::map<Int_t, TObjArray*> > > fMap; //! 30 27 std::map<ExRootClassifier *, std::pair<Bool_t, std::map<Int_t, TObjArray *>>> fMap; //! 31 28 }; 32 29 33 30 #endif /* ExRootFilter */ 34 -
external/ExRootAnalysis/ExRootProgressBar.cc
r45e58be r341014c 14 14 #include <iostream> 15 15 16 #include <stdio.h> 16 17 #include <string.h> 17 #include <stdio.h>18 18 19 19 using namespace std; … … 46 46 if(fEntries > 0) 47 47 { 48 Int_t hashes = Int_t(Double_t(entry) /fEntries*fWidth);48 Int_t hashes = Int_t(Double_t(entry) / fEntries * fWidth); 49 49 if(hashes > fWidth) hashes = fWidth; 50 50 if(hashes != fHashes) … … 53 53 memset(fBar + hashes, '-', fWidth - hashes); 54 54 fHashes = hashes; 55 fprintf(stderr, "** [%s] (%.2f%%)\r", fBar, Float_t(entry) /fEntries*100.0);55 fprintf(stderr, "** [%s] (%.2f%%)\r", fBar, Float_t(entry) / fEntries * 100.0); 56 56 } 57 57 } … … 77 77 78 78 //------------------------------------------------------------------------------ 79 -
external/ExRootAnalysis/ExRootProgressBar.h
r45e58be r341014c 7 7 { 8 8 public: 9 10 9 ExRootProgressBar(Long64_t entries, Int_t width = 64); 11 10 ~ExRootProgressBar(); … … 15 14 16 15 private: 17 18 16 Long64_t fEntries, fEventCounter; 19 17 Int_t fWidth; … … 23 21 24 22 char *fBar; //! 25 26 23 }; 27 24 28 25 #endif /* ExRootProgressBar */ 29 -
external/ExRootAnalysis/ExRootResult.cc
r45e58be r341014c 12 12 #include "ExRootAnalysis/ExRootUtilities.h" 13 13 14 #include "TROOT.h" 14 #include "TCanvas.h" 15 #include "TClass.h" 15 16 #include "TFile.h" 16 #include "TClass.h" 17 #include "TStyle.h" 18 #include "TCanvas.h" 19 #include "TLegend.h" 20 #include "TPaveText.h" 21 #include "TPaveStats.h" 22 #include "TList.h" 17 #include "TFolder.h" 23 18 #include "TH2.h" 24 19 #include "THStack.h" 20 #include "TLegend.h" 21 #include "TList.h" 22 #include "TObjArray.h" 23 #include "TPaveStats.h" 24 #include "TPaveText.h" 25 25 #include "TProfile.h" 26 #include "T ObjArray.h"27 #include "T Folder.h"26 #include "TROOT.h" 27 #include "TStyle.h" 28 28 29 29 #include <iostream> … … 37 37 //------------------------------------------------------------------------------ 38 38 39 ExRootResult::ExRootResult() : fCanvas(0), fFolder(0) 39 ExRootResult::ExRootResult() : 40 fCanvas(0), fFolder(0) 40 41 { 41 42 } … … 45 46 ExRootResult::~ExRootResult() 46 47 { 47 set<TObject *>::iterator itPool;48 set<TObject *>::iterator itPool; 48 49 for(itPool = fPool.begin(); itPool != fPool.end(); ++itPool) 49 50 { … … 68 69 TFile *file = new TFile(fileName, "RECREATE"); 69 70 file->cd(); 70 std::map<TObject *, PlotSettings>::iterator itPlotMap;71 std::map<TObject *, PlotSettings>::iterator itPlotMap; 71 72 for(itPlotMap = fPlotMap.begin(); itPlotMap != fPlotMap.end(); ++itPlotMap) 72 73 { … … 123 124 // gStyle->SetOptFit(101); 124 125 125 fCanvas = static_cast<TCanvas *>(gROOT->FindObject("c1"));126 fCanvas = static_cast<TCanvas *>(gROOT->FindObject("c1")); 126 127 if(fCanvas) 127 128 { … … 154 155 if(!plot) return; 155 156 156 std::map<TObject *, PlotSettings>::iterator itPlotMap = fPlotMap.find(plot);157 std::map<TObject *, PlotSettings>::iterator itPlotMap = fPlotMap.find(plot); 157 158 if(itPlotMap != fPlotMap.end()) 158 159 { … … 178 179 if(plot->IsA()->InheritsFrom(TH1::Class())) 179 180 { 180 histogram = static_cast<TH1 *>(plot);181 } 182 183 map<TObject *, PlotSettings>::iterator itPlotMap = fPlotMap.find(plot);181 histogram = static_cast<TH1 *>(plot); 182 } 183 184 map<TObject *, PlotSettings>::iterator itPlotMap = fPlotMap.find(plot); 184 185 if(itPlotMap != fPlotMap.end()) 185 186 { … … 224 225 TCanvas *canvas = GetCanvas(); 225 226 226 map<TObject *, PlotSettings>::iterator itPlotMap;227 map<TObject *, PlotSettings>::iterator itPlotMap; 227 228 228 229 for(itPlotMap = fPlotMap.begin(); itPlotMap != fPlotMap.end(); ++itPlotMap) … … 236 237 if(object->IsA()->InheritsFrom(TH1::Class())) 237 238 { 238 histogram = static_cast<TH1 *>(object);239 histogram = static_cast<TH1 *>(object); 239 240 } 240 241 else if(object->IsA()->InheritsFrom(THStack::Class())) 241 242 { 242 stack = static_cast<THStack *>(object);243 histogram = static_cast<TH1 *>(stack->GetHists()->First());243 stack = static_cast<THStack *>(object); 244 histogram = static_cast<TH1 *>(stack->GetHists()->First()); 244 245 } 245 246 … … 271 272 if(histogram) 272 273 { 273 stats = static_cast<TPaveStats *>(histogram->FindObject("stats"));274 stats = static_cast<TPaveStats *>(histogram->FindObject("stats")); 274 275 if(stats) 275 276 { … … 300 301 301 302 TH1 *ExRootResult::AddHist1D(const char *name, const char *title, 302 303 304 303 const char *xlabel, const char *ylabel, 304 Int_t nxbins, Axis_t xmin, Axis_t xmax, 305 Int_t logx, Int_t logy) 305 306 { 306 307 TH1F *hist = new TH1F(name, title, nxbins, xmin, xmax); … … 324 325 325 326 TH1 *ExRootResult::AddHist1D(const char *name, const char *title, 326 327 328 327 const char *xlabel, const char *ylabel, 328 Int_t nxbins, const Float_t *bins, 329 Int_t logx, Int_t logy) 329 330 { 330 331 TH1F *hist = new TH1F(name, title, nxbins, bins); … … 348 349 349 350 TProfile *ExRootResult::AddProfile(const char *name, const char *title, 350 351 352 351 const char *xlabel, const char *ylabel, 352 Int_t nxbins, Axis_t xmin, Axis_t xmax, 353 Int_t logx, Int_t logy) 353 354 { 354 355 TProfile *profile = new TProfile(name, title, nxbins, xmin, xmax); … … 372 373 373 374 TH2 *ExRootResult::AddHist2D(const char *name, const char *title, 374 375 376 377 375 const char *xlabel, const char *ylabel, 376 Int_t nxbins, Axis_t xmin, Axis_t xmax, 377 Int_t nybins, Axis_t ymin, Axis_t ymax, 378 Int_t logx, Int_t logy) 378 379 { 379 380 TH2F *hist = new TH2F(name, title, nxbins, xmin, xmax, nybins, ymin, ymax); -
external/ExRootAnalysis/ExRootResult.h
r45e58be r341014c 2 2 #define ExRootResult_h 3 3 4 #include "Gtypes.h" 4 5 #include "Rtypes.h" 5 #include "Gtypes.h"6 6 #include "TMath.h" 7 7 8 #include <map> 8 9 #include <set> 9 #include <map>10 10 11 11 class TH1; … … 23 23 24 24 public: 25 26 25 ExRootResult(); 27 26 ~ExRootResult(); … … 32 31 33 32 TH1 *AddHist1D(const char *name, const char *title, 34 35 36 33 const char *xlabel, const char *ylabel, 34 Int_t nxbins, Axis_t xmin, Axis_t xmax, 35 Int_t logx = 0, Int_t logy = 0); 37 36 38 37 TH1 *AddHist1D(const char *name, const char *title, 39 40 41 38 const char *xlabel, const char *ylabel, 39 Int_t nxbins, const Float_t *bins, 40 Int_t logx = 0, Int_t logy = 0); 42 41 43 42 TProfile *AddProfile(const char *name, const char *title, 44 45 46 43 const char *xlabel, const char *ylabel, 44 Int_t nxbins, Axis_t xmin, Axis_t xmax, 45 Int_t logx = 0, Int_t logy = 0); 47 46 48 47 TH2 *AddHist2D(const char *name, const char *title, 49 50 51 52 48 const char *xlabel, const char *ylabel, 49 Int_t nxbins, Axis_t xmin, Axis_t xmax, 50 Int_t nybins, Axis_t ymin, Axis_t ymax, 51 Int_t logx = 0, Int_t logy = 0); 53 52 54 53 THStack *AddHistStack(const char *name, const char *title); … … 62 61 TCanvas *GetCanvas(); 63 62 64 void PrintPlot(TObject *plot, const char *sufix = "", 63 void PrintPlot(TObject *plot, const char *sufix = "", const char *format = "eps"); 65 64 66 65 void SetFolder(TFolder *folder) { fFolder = folder; } 67 66 68 67 private: 69 70 68 struct PlotSettings 71 69 { … … 79 77 TCanvas *fCanvas; //! 80 78 81 std::set<TObject *> fPool; //!79 std::set<TObject *> fPool; //! 82 80 83 std::map<TObject *, PlotSettings> fPlotMap; //!81 std::map<TObject *, PlotSettings> fPlotMap; //! 84 82 85 83 TFolder *fFolder; //! 86 87 84 }; 88 85 89 86 #endif /* ExRootResult_h */ 90 -
external/ExRootAnalysis/ExRootTask.cc
r45e58be r341014c 11 11 #include "ExRootAnalysis/ExRootConfReader.h" 12 12 13 #include "TROOT.h"14 13 #include "TClass.h" 15 14 #include "TFolder.h" 15 #include "TROOT.h" 16 16 #include "TString.h" 17 17 18 #include <iomanip> 18 19 #include <iostream> 19 #include < iomanip>20 #include <sstream> 20 21 #include <stdexcept> 21 #include <sstream>22 22 23 23 static const char *const kINIT = "0"; … … 144 144 145 145 if(!cl) return 0; 146 146 147 147 if(!cl->InheritsFrom(ExRootTask::Class())) 148 148 { … … 310 310 return object; 311 311 } 312 -
external/ExRootAnalysis/ExRootTask.h
r45e58be r341014c 17 17 class TFolder; 18 18 19 class ExRootTask 19 class ExRootTask: public TTask 20 20 { 21 21 public: 22 23 22 ExRootTask(); 24 23 virtual ~ExRootTask(); … … 41 40 ExRootTask *NewTask(const char *className, const char *taskName); 42 41 43 void Exec(Option_t *option);42 void Exec(Option_t *option); 44 43 45 44 int GetInt(const char *name, int defaultValue, int index = -1); … … 55 54 56 55 protected: 57 58 56 TFolder *GetFolder() const { return fFolder; } 59 57 ExRootConfReader *GetConfReader() const { return fConfReader; } … … 63 61 64 62 private: 65 66 63 TFolder *fFolder; //! 67 64 ExRootConfReader *fConfReader; //! … … 71 68 72 69 #endif /* ExRootTask */ 73 -
external/ExRootAnalysis/ExRootTreeBranch.cc
r45e58be r341014c 11 11 #include "ExRootAnalysis/ExRootTreeBranch.h" 12 12 13 #include "TClonesArray.h" 13 14 #include "TFile.h" 15 #include "TString.h" 14 16 #include "TTree.h" 15 #include "TString.h"16 #include "TClonesArray.h"17 17 18 18 #include <iostream> 19 #include <sstream> 19 20 #include <stdexcept> 20 #include <sstream>21 21 22 22 using namespace std; … … 28 28 { 29 29 stringstream message; 30 // cl->IgnoreTObjectStreamer();31 // cl->BypassStreamer();30 // cl->IgnoreTObjectStreamer(); 31 // cl->BypassStreamer(); 32 32 fData = new TClonesArray(cl, fCapacity); 33 33 … … 65 65 if(fSize >= fCapacity) 66 66 { 67 if(fCapacity < 10) fCapacity = 10; 68 else if(fCapacity < 30) fCapacity = 30; 69 else if(fCapacity < 100) fCapacity = 100; 70 else if(fCapacity < 250) fCapacity = 250; 71 else fCapacity *= 2; 67 if(fCapacity < 10) 68 fCapacity = 10; 69 else if(fCapacity < 30) 70 fCapacity = 30; 71 else if(fCapacity < 100) 72 fCapacity = 100; 73 else if(fCapacity < 250) 74 fCapacity = 250; 75 else 76 fCapacity *= 2; 72 77 73 78 fData->ExpandCreateFast(fCapacity); … … 76 81 fData->ExpandCreateFast(fSize); 77 82 } 78 83 79 84 return fData->AddrAt(fSize++); 80 85 } … … 89 94 90 95 //------------------------------------------------------------------------------ 91 -
external/ExRootAnalysis/ExRootTreeBranch.h
r45e58be r341014c 19 19 { 20 20 public: 21 22 21 ExRootTreeBranch(const char *name, TClass *cl, TTree *tree = 0); 23 22 ~ExRootTreeBranch(); … … 27 26 28 27 private: 29 30 28 Int_t fSize, fCapacity; //! 31 29 TClonesArray *fData; //! … … 33 31 34 32 #endif /* ExRootTreeBranch */ 35 -
external/ExRootAnalysis/ExRootTreeReader.cc
r45e58be r341014c 10 10 #include "ExRootAnalysis/ExRootTreeReader.h" 11 11 12 #include "TBranchElement.h" 13 #include "TCanvas.h" 14 #include "TClonesArray.h" 12 15 #include "TH2.h" 13 16 #include "TStyle.h" 14 #include "TCanvas.h"15 #include "TClonesArray.h"16 #include "TBranchElement.h"17 17 18 18 #include <iostream> … … 51 51 if(fChain->IsA() == TChain::Class()) 52 52 { 53 TChain *chain = static_cast<TChain *>(fChain);53 TChain *chain = static_cast<TChain *>(fChain); 54 54 if(chain->GetTreeNumber() != fCurrentTree) 55 55 { … … 94 94 if(branch->IsA() == TBranchElement::Class()) 95 95 { 96 TBranchElement *element = static_cast<TBranchElement *>(branch);96 TBranchElement *element = static_cast<TBranchElement *>(branch); 97 97 const char *className = element->GetClonesName(); 98 98 Int_t size = element->GetMaximum(); … … 145 145 146 146 //------------------------------------------------------------------------------ 147 -
external/ExRootAnalysis/ExRootTreeReader.h
r45e58be r341014c 10 10 */ 11 11 12 #include "TROOT.h"13 #include "TNamed.h"14 12 #include "TChain.h" 15 13 #include "TFile.h" 14 #include "TNamed.h" 15 #include "TROOT.h" 16 16 17 17 #include <map> 18 18 19 class ExRootTreeReader 19 class ExRootTreeReader: public TNamed 20 20 { 21 public : 22 21 public: 23 22 ExRootTreeReader(TTree *tree = 0); 24 23 ~ExRootTreeReader(); … … 32 31 33 32 private: 34 35 33 Bool_t Notify(); 36 34 … … 38 36 Int_t fCurrentTree; //! current Tree number in a TChain 39 37 40 typedef std::map<TString, std::pair<TBranch *, TClonesArray*>> TBranchMap;38 typedef std::map<TString, std::pair<TBranch *, TClonesArray *>> TBranchMap; 41 39 42 40 TBranchMap fBranchMap; //! -
external/ExRootAnalysis/ExRootTreeWriter.cc
r45e58be r341014c 11 11 #include "ExRootAnalysis/ExRootTreeBranch.h" 12 12 13 #include "TClonesArray.h" 14 #include "TFile.h" 13 15 #include "TROOT.h" 14 #include "TFile.h"15 16 #include "TTree.h" 16 #include "TClonesArray.h"17 17 18 18 #include <iostream> 19 #include <sstream> 19 20 #include <stdexcept> 20 #include <sstream>21 21 22 22 using namespace std; … … 31 31 ExRootTreeWriter::~ExRootTreeWriter() 32 32 { 33 set<ExRootTreeBranch *>::iterator itBranches;33 set<ExRootTreeBranch *>::iterator itBranches; 34 34 for(itBranches = fBranches.begin(); itBranches != fBranches.end(); ++itBranches) 35 35 { 36 delete 36 delete(*itBranches); 37 37 } 38 38 … … 69 69 void ExRootTreeWriter::Clear() 70 70 { 71 set<ExRootTreeBranch *>::iterator itBranches;71 set<ExRootTreeBranch *>::iterator itBranches; 72 72 for(itBranches = fBranches.begin(); itBranches != fBranches.end(); ++itBranches) 73 73 { … … 95 95 96 96 tree->SetDirectory(fFile); 97 tree->SetAutoSave(10000000); 97 tree->SetAutoSave(10000000); // autosave when 10 MB written 98 98 99 99 return tree; -
external/ExRootAnalysis/ExRootTreeWriter.h
r45e58be r341014c 19 19 class ExRootTreeBranch; 20 20 21 class ExRootTreeWriter 21 class ExRootTreeWriter: public TNamed 22 22 { 23 23 public: 24 25 24 ExRootTreeWriter(TFile *file = 0, const char *treeName = "Analysis"); 26 25 ~ExRootTreeWriter(); … … 36 35 37 36 private: 38 39 37 TTree *NewTree(); 40 38 … … 44 42 TString fTreeName; //! 45 43 46 std::set<ExRootTreeBranch *> fBranches; //!44 std::set<ExRootTreeBranch *> fBranches; //! 47 45 48 46 ClassDef(ExRootTreeWriter, 1) … … 50 48 51 49 #endif /* ExRootTreeWriter */ 52 -
external/ExRootAnalysis/ExRootUtilities.cc
r45e58be r341014c 10 10 #include "ExRootAnalysis/ExRootUtilities.h" 11 11 12 #include "TChain.h" 13 #include "TH1.h" 12 14 #include "TROOT.h" 13 #include "TH1.h"14 #include "TChain.h"15 15 16 #include <fstream> 16 17 #include <iostream> 17 #include <fstream>18 18 19 19 using namespace std; … … 74 74 75 75 //------------------------------------------------------------------------------ 76
Note:
See TracChangeset
for help on using the changeset viewer.