[2] | 1 | #ifndef _HEPEVTCONVERTER_H_
|
---|
| 2 | #define _HEPEVTCONVERTER_H_
|
---|
| 3 |
|
---|
| 4 | /*
|
---|
| 5 | ---- Delphes ----
|
---|
| 6 | A Fast Simulator for general purpose LHC detector
|
---|
| 7 | S. Ovyn ~~~~ severine.ovyn@uclouvain.be
|
---|
| 8 |
|
---|
| 9 | Center for Particle Physics and Phenomenology (CP3)
|
---|
| 10 | Universite Catholique de Louvain (UCL)
|
---|
| 11 | Louvain-la-Neuve, Belgium
|
---|
| 12 | */
|
---|
| 13 |
|
---|
| 14 | /// \file SmearUtil.h
|
---|
| 15 | /// \brief HEPEVTConverter class, and some generic definitions
|
---|
| 16 |
|
---|
| 17 |
|
---|
| 18 | #include <iostream>
|
---|
| 19 | #include <sstream>
|
---|
| 20 | #include <deque>
|
---|
| 21 | #include <fstream>
|
---|
| 22 | #include <vector>
|
---|
| 23 |
|
---|
| 24 | #include "TLorentzVector.h"
|
---|
| 25 | #include "TRandom.h"
|
---|
| 26 |
|
---|
| 27 | #include "Utilities/ExRootAnalysis/interface/BlockClasses.h"
|
---|
| 28 | #include "Utilities/ExRootAnalysis/interface/TSimpleArray.h"
|
---|
[11] | 29 | //#include "Utilities/CDFCones/interface/PhysicsTower.h"
|
---|
[2] | 30 | #include "interface/DataConverter.h"
|
---|
| 31 | using namespace std;
|
---|
| 32 |
|
---|
| 33 | //------------------------------------------------------------------------------
|
---|
| 34 | //
|
---|
| 35 | struct HEPEvent
|
---|
| 36 | {
|
---|
| 37 | Int_t Nevhep;
|
---|
| 38 | Int_t Nhep;
|
---|
| 39 | Int_t *Idhep; //[Nhep]
|
---|
| 40 | Int_t *Jsmhep; //[Nhep]
|
---|
| 41 | Int_t *Jsdhep; //[Nhep]
|
---|
| 42 | Float_t *Phep; //[Nhep][5]
|
---|
| 43 | Float_t *Vhep; //[Nhep][4]
|
---|
| 44 | Int_t Irun;
|
---|
| 45 | Int_t Ievt;
|
---|
| 46 | Float_t Weight;
|
---|
| 47 | Float_t Xsecn;
|
---|
| 48 | Int_t Ifilter;
|
---|
| 49 | Int_t Nparam;
|
---|
| 50 | Float_t *Param; //[Nparam]
|
---|
| 51 | };
|
---|
| 52 | //
|
---|
| 53 |
|
---|
| 54 | //
|
---|
| 55 | class HEPTreeReader {
|
---|
| 56 |
|
---|
| 57 | public:
|
---|
| 58 |
|
---|
| 59 | HEPTreeReader(TTree *tree, HEPEvent *event);
|
---|
| 60 | ~HEPTreeReader();
|
---|
| 61 |
|
---|
| 62 | Long64_t GetEntries() const { return fChain ? static_cast<Long64_t>(fChain->GetEntries()) : 0; }
|
---|
| 63 | Bool_t ReadEntry(Long64_t element);
|
---|
| 64 |
|
---|
| 65 | private:
|
---|
| 66 |
|
---|
| 67 | void Notify();
|
---|
| 68 |
|
---|
| 69 | TTree *fChain; // pointer to the analyzed TTree or TChain
|
---|
| 70 | Int_t fCurrentTree; // current Tree number in a TChain
|
---|
| 71 | HEPEvent *fEvent;
|
---|
| 72 | deque< pair<TString, TBranch*> > fBranches;
|
---|
| 73 |
|
---|
| 74 | };
|
---|
| 75 |
|
---|
| 76 |
|
---|
| 77 | class HEPEVTConverter : public DataConverter {
|
---|
| 78 |
|
---|
| 79 | public:
|
---|
| 80 |
|
---|
| 81 | HEPEVTConverter(const string& inputFileList, const string& outputFileName);
|
---|
| 82 |
|
---|
| 83 | };
|
---|
| 84 |
|
---|
| 85 |
|
---|
| 86 | #endif
|
---|