#ifndef _HEPEVTCONVERTER_H_ #define _HEPEVTCONVERTER_H_ /*********************************************************************** ** ** ** /----------------------------------------------\ ** ** | Delphes, a framework for the fast simulation | ** ** | of a generic collider experiment | ** ** \------------- arXiv:0903.2225v1 ------------/ ** ** ** ** ** ** This package uses: ** ** ------------------ ** ** ROOT: Nucl. Inst. & Meth. in Phys. Res. A389 (1997) 81-86 ** ** FastJet algorithm: Phys. Lett. B641 (2006) [hep-ph/0512210] ** ** Hector: JINST 2:P09005 (2007) [physics.acc-ph:0707.1198v2] ** ** FROG: [hep-ex/0901.2718v1] ** ** HepMC: Comput. Phys. Commun.134 (2001) 41 ** ** ** ** ------------------------------------------------------------------ ** ** ** ** Main authors: ** ** ------------- ** ** ** ** Severine Ovyn Xavier Rouby ** ** severine.ovyn@uclouvain.be xavier.rouby@cern ** ** ** ** Center for Particle Physics and Phenomenology (CP3) ** ** Universite catholique de Louvain (UCL) ** ** Louvain-la-Neuve, Belgium ** ** ** ** Copyright (C) 2008-2009, ** ** All rights reserved. ** ** ** ***********************************************************************/ #include #include "BlockClasses.h" #include "TSimpleArray.h" #include "DataConverter.h" using namespace std; //------------------------------------------------------------------------------ // struct HEPEvent { Int_t Nevhep; Int_t Nhep; Int_t *Idhep; //[Nhep] Int_t *Jsmhep; //[Nhep] Int_t *Jsdhep; //[Nhep] Float_t *Phep; //[Nhep][5] Float_t *Vhep; //[Nhep][4] Int_t Irun; Int_t Ievt; Float_t Weight; Float_t Xsecn; Int_t Ifilter; Int_t Nparam; Float_t *Param; //[Nparam] }; // // class HEPTreeReader { public: HEPTreeReader(TTree *tree, HEPEvent *event); virtual ~HEPTreeReader(); Long64_t GetEntries() const { return fChain ? static_cast(fChain->GetEntries()) : 0; } Bool_t ReadEntry(Long64_t element); private: void Notify(); TTree *fChain; // pointer to the analyzed TTree or TChain Int_t fCurrentTree; // current Tree number in a TChain HEPEvent *fEvent; deque< pair > fBranches; }; class HEPEVTConverter : public DataConverter { public: HEPEVTConverter(const string& inputFileList, const string& outputFileName, const PdgTable& pdg, const int& Nevents=-1); }; #endif