18 int main(
int argc,
char *argv[]){
19 time_t startTime, curTime;
27 TString sample1(
"archive/15-07-23_test_single/small_quick_Run2015B__SingleMuon_DoubleMuon_HTMHT_MET_files5");
28 TString sample2(
"archive/15-07-23_test_single/small_quick_HTMHT");
29 int desired_trigger(0);
32 while((c=getopt(argc, argv,
"f:"))!=-1){
42 vector<bool> *
trig(0);
43 map<UInt_t, set<UInt_t> > events;
45 TChain chain(
"tree"), chain2(
"tree");
46 int files = chain.Add(sample1+
"*.root"), nmiss(0), ndup(0);
47 chain2.Add(sample2+
"*.root");
50 cout<<endl<<
"Doing "<<sample1<<endl;
51 chain.SetBranchAddress(
"event", &event);
52 chain.SetBranchAddress(
"run", &run);
53 chain.SetBranchAddress(
"trig", &trig);
54 long entries(chain.GetEntries());
56 for(
int entry(0); entry<entries; entry++){
58 chain.GetEntry(entry);
60 cout<<
"Doing entry "<<entry<<
" of "<<entries<<endl;
63 if(!trig->at(desired_trigger))
continue;
64 if(events.find(run) == events.end()) events[run] = set<UInt_t>();
65 if(events[run].find(event) == events[
run].end()){
66 events[
run].insert(event);
68 cout<<entry<<
": Event "<<
event<<
" in run "<<run<<
" is duplicated"<<endl;
75 cout<<endl<<
"Doing "<<sample2<<endl;
76 chain2.SetBranchAddress(
"event", &event);
77 chain2.SetBranchAddress(
"run", &run);
78 chain2.SetBranchAddress(
"trig", &trig);
79 entries = chain2.GetEntries();
80 for(
int entry(0); entry<entries; entry++){
82 chain2.GetEntry(entry);
84 cout<<
"Doing entry "<<entry<<
" of "<<entries<<endl;
86 if(!trig->at(desired_trigger))
continue;
87 if(events.find(run) == events.end()) events[run] = set<UInt_t>();
88 if(events[run].find(event) == events[
run].end()){
89 events[
run].insert(event);
90 cout<<entry<<
": Event "<<
event<<
" in run "<<run<<
" is not in "<<sample1<<endl;
99 cout<<
"Running over "<<entries<<
" events took "<<difftime(curTime,startTime)<<
" seconds. There were " 100 <<nmiss<<
" events missing and "<<ndup<<
" duplicate"<<endl<<endl;
int main(int argc, char *argv[])
int const & event() const
std::vector< bool > const & trig() const