1 |
//./bin/runElectronFakeRate.exe --catalogDir "/home/mitprod/catalog" --book "cern/filefi/028" --dataset "r12a-dmu-pr-v1" --fileset "0008" --outputFilename "delete.root" --dielectron_or_dimuon_data "dimuon_data" --isData 1 --n_events_to_process 1000
|
2 |
|
3 |
#include "ElectronFakeRateMod.h"
|
4 |
#include "ElectronFakeRateArgs.h"
|
5 |
#include "TChain.h"
|
6 |
|
7 |
|
8 |
int main(int argc, char** argv)
|
9 |
{
|
10 |
|
11 |
ElectronFakeRateFlags ctrl;
|
12 |
parse_electron_fake_rate_args( argc, argv, ctrl );
|
13 |
if( ctrl.catalogDir.empty() || ctrl.book.empty() || ctrl.dataset.empty()|| ctrl.fileset.empty()|| ctrl.outputFilename.empty()|| ctrl.dielectron_or_dimuon_data.empty() || ctrl.isData == -2|| ctrl.n_events_to_process == -2)
|
14 |
{
|
15 |
cerr << "usage: runElectronFakeRate.exe <flags> " << endl;
|
16 |
ctrl.dump();
|
17 |
|
18 |
return 1;
|
19 |
}
|
20 |
ctrl.dump();
|
21 |
|
22 |
|
23 |
initVBTFSelection();
|
24 |
|
25 |
mithep::ElectronFakeRateMod *frMod = new mithep::ElectronFakeRateMod;
|
26 |
mithep::Analysis *ana = new mithep::Analysis;
|
27 |
ana->SetUseHLT(kTRUE);
|
28 |
if(ctrl.n_events_to_process==-1)
|
29 |
ana->SetProcessNEvents(TChain::kBigNumber);
|
30 |
ana->AddSuperModule(frMod);
|
31 |
|
32 |
//ana->AddFile("/data/blue/cmsprod/test3_sync_Summer12/0CAA68E2-3491-E111-9F03-003048FFD760.root");
|
33 |
|
34 |
mithep::Catalog *c = new mithep::Catalog(TString(ctrl.catalogDir));
|
35 |
mithep::Dataset *d = c->FindDataset(TString(ctrl.book),TString(ctrl.dataset),TString(ctrl.fileset));
|
36 |
ana->AddDataset(d);
|
37 |
|
38 |
frMod->massLo = 80;
|
39 |
frMod->massHi = 120;
|
40 |
frMod->useJSON = ctrl.isData;
|
41 |
frMod->useTrigger = ctrl.isData;
|
42 |
frMod->store_npu = !ctrl.isData;
|
43 |
assert(ctrl.dielectron_or_dimuon_data == "dielectron_data" || ctrl.dielectron_or_dimuon_data == "dimuon_data");
|
44 |
if(ctrl.dielectron_or_dimuon_data == "dielectron_data")
|
45 |
frMod->die_or_dimu = mithep::ElectronFakeRateMod::e_dielectron_data;
|
46 |
else if (ctrl.dielectron_or_dimuon_data == "dimuon_data")
|
47 |
frMod->die_or_dimu = mithep::ElectronFakeRateMod::e_dimuon_data;
|
48 |
else
|
49 |
assert(0);
|
50 |
frMod->fOutputName = ctrl.outputFilename;
|
51 |
|
52 |
initTrigger();
|
53 |
|
54 |
ana->Run(!gROOT->IsBatch());
|
55 |
|
56 |
}
|