Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:11

0001 #include <vector>
0002 #include <TFile.h>
0003 using namespace std;
0004 
0005 #if defined(__CINT__) && !defined(__MAKECINT__)
0006 class loadFWLite {
0007 public:
0008   loadFWLite() {
0009     gSystem->Load("libFWCoreFWLite");
0010     FWLiteEnabler::enable();
0011   }
0012 };
0013 
0014 static loadFWLite lfw;
0015 #endif
0016 
0017 #include "DataFormats/Common/interface/Handle.h"
0018 #include "DataFormats/FWLite/interface/Event.h"
0019 #include "FWCore/Utilities/interface/InputTag.h"
0020 
0021 #if !defined(__CINT__) && !defined(__MAKECINT__)
0022 #include "DataFormats/TestObjects/interface/ThingCollection.h"
0023 #endif
0024 
0025 void event_looping_consumes_cint() {
0026   TFile f("good_a.root");
0027   fwlite::Event e(&f);
0028 
0029   auto token = e.consumes<std::vector<edmtest::Thing>>(edm::InputTag("Thing"));
0030 
0031   int i = 0;
0032   int returnValue = 0;
0033   for (; e.isValid(); ++e, ++i) {
0034     edm::Handle<vector<edmtest::Thing>> pThing;
0035     e.getByToken(token, pThing);
0036 
0037     for (int i = 0; i != pThing->size(); ++i) {
0038       cout << pThing->at(i).a << " ";
0039     }
0040     cout << endl;
0041   }
0042   if (i == 0) {
0043     cout << "First loop failed!" << endl;
0044     returnValue = 1;
0045   }
0046   exit(returnValue);
0047 }