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 }