- Timestamp:
- Jun 3, 2015, 8:54:35 PM (9 years ago)
- Branches:
- ImprovedOutputFile, Timing, dual_readout, llp, master
- Children:
- cd616b9
- Parents:
- de6d698
- Location:
- classes
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
classes/ClassesLinkDef.h
rde6d698 r986d9d5 46 46 #pragma link C++ class LHCOEvent+; 47 47 #pragma link C++ class LHEFEvent+; 48 #pragma link C++ class LHEFWeight+; 48 49 #pragma link C++ class HepMCEvent+; 49 50 #pragma link C++ class GenParticle+; -
classes/DelphesClasses.h
rde6d698 r986d9d5 84 84 //--------------------------------------------------------------------------- 85 85 86 class LHEFWeight: public TObject 87 { 88 public: 89 Int_t ID; // weight ID 90 Float_t Weight; // weight value 91 92 ClassDef(LHEFWeight, 1) 93 }; 94 95 //--------------------------------------------------------------------------- 96 86 97 class HepMCEvent: public Event 87 98 { -
classes/DelphesLHEFReader.cc
rde6d698 r986d9d5 82 82 fEventCounter = -1; 83 83 fParticleCounter = -1; 84 f RwgtList.clear();84 fWeightList.clear(); 85 85 } 86 86 … … 99 99 TObjArray *partonOutputArray) 100 100 { 101 int rc ;101 int rc, id; 102 102 char *pch; 103 103 double weight; … … 158 158 else if(strstr(fBuffer, "<wgt")) 159 159 { 160 pch = str str(fBuffer, ">");160 pch = strpbrk(fBuffer, "\"'"); 161 161 if(!pch) 162 162 { … … 165 165 } 166 166 167 DelphesStream bufferStream(pch + 1); 168 rc = bufferStream.ReadDbl(weight); 167 DelphesStream idStream(pch + 1); 168 rc = idStream.ReadInt(id); 169 170 pch = strchr(fBuffer, '>'); 171 if(!pch) 172 { 173 cerr << "** ERROR: " << "invalid weight format" << endl; 174 return kFALSE; 175 } 176 177 DelphesStream weightStream(pch + 1); 178 rc = weightStream.ReadDbl(weight); 169 179 170 180 if(!rc) … … 174 184 } 175 185 176 f RwgtList.push_back(weight);186 fWeightList.push_back(make_pair(id, weight)); 177 187 } 178 188 else if(strstr(fBuffer, "</event>")) … … 208 218 void DelphesLHEFReader::AnalyzeRwgt(ExRootTreeBranch *branch) 209 219 { 210 Weight *element; 211 vector<double>::const_iterator itRwgtList; 212 213 for(itRwgtList = fRwgtList.begin(); itRwgtList != fRwgtList.end(); ++itRwgtList) 214 { 215 element = static_cast<Weight *>(branch->NewEntry()); 216 217 element->Weight = *itRwgtList; 220 LHEFWeight *element; 221 vector< pair< int, double > >::const_iterator itWeightList; 222 223 for(itWeightList = fWeightList.begin(); itWeightList != fWeightList.end(); ++itWeightList) 224 { 225 element = static_cast<LHEFWeight *>(branch->NewEntry()); 226 227 element->ID = itWeightList->first; 228 element->Weight = itWeightList->second; 218 229 } 219 230 } -
classes/DelphesLHEFReader.h
rde6d698 r986d9d5 31 31 32 32 #include <vector> 33 #include <utility> 33 34 34 35 class TObjArray; … … 83 84 double fPx, fPy, fPz, fE, fMass; 84 85 85 std::vector< double> fRwgtList;86 std::vector< std::pair< int, double > > fWeightList; 86 87 }; 87 88
Note:
See TracChangeset
for help on using the changeset viewer.