本文整理汇总了C++中RunLumiSelectionMod类的典型用法代码示例。如果您正苦于以下问题:C++ RunLumiSelectionMod类的具体用法?C++ RunLumiSelectionMod怎么用?C++ RunLumiSelectionMod使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RunLumiSelectionMod类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runMonoPhoton
//--------------------------------------------------------------------------------------------------
void runMonoPhoton(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "s12-zgllg-v7a",
const char *book = "cern/filefi/031",
const char *catalogDir = "~/scratch0/catalog",
const char *outputName = "test/jmet",
int nEvents = 10000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
TString jsonFile = "";
float overlapCut = -1;
Bool_t isData = false;
printf("\n Initialization worked \n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kAnalysis;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
MCProcessSelectionMod *mcselmod = new MCProcessSelectionMod;
MVASystematicsMod *sysMod = new MVASystematicsMod;
sysMod->SetMCR9Scale(1.0035, 1.0035);
sysMod->SetIsData(isData);
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(!isData);
runLumiSel->AddJSONFile(string(getenv("CMSSW_BASE")+string("/src/json/Cert_Current_JSON.txt")));
printf("\n Run lumi worked\n");
// Dataset Flags
bool isDataSinglePh = false;
bool isDataPhHad = false;
if (TString(dataset).Contains("-pho-") || TString(dataset).Contains("-sph-")) isDataSinglePh = true;
if (TString(dataset).Contains("-phh-")) isDataPhHad = true;
// Generator info
GeneratorMod *generatorMod = new GeneratorMod;
generatorMod->SetPrintDebug(kFALSE);
generatorMod->SetPtLeptonMin(0.0);
generatorMod->SetEtaLeptonMax(2.7);
generatorMod->SetPtPhotonMin(15.0);
generatorMod->SetEtaPhotonMax(2.7);
generatorMod->SetPtRadPhotonMin(10.0);
generatorMod->SetEtaRadPhotonMax(2.7);
generatorMod->SetIsData(isData);
generatorMod->SetFillHist(!isData);
generatorMod->SetApplyISRFilter(kFALSE);
generatorMod->SetApplyVVFilter(kFALSE);
generatorMod->SetApplyVGFilter(kFALSE);
generatorMod->SetFilterBTEvents(kFALSE);
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModP = new HLTMod("HLTModP");
//------------------------------------------------------------------------------------------------
// Run2011
//------------------------------------------------------------------------------------------------
hltModP->AddTrigger("HLT_Photon75_CaloIdVL_v*",160404,165087);
hltModP->AddTrigger("HLT_Photon125_v*",165088,163869);
hltModP->AddTrigger("HLT_Photon135_v*",167039,190455);
//------------------------------------------------------------------------------------------------
// Run2012
//------------------------------------------------------------------------------------------------
if (isData){//DATA
if (isDataSinglePh){
hltModP->AddTrigger("HLT_Photon135_v*",190456,193686);
hltModP->AddTrigger("HLT_Photon150_v*",193687,199695);
hltModP->AddTrigger("HLT_Photon135_v*",199696,209151);
}
else if (isDataPhHad){
hltModP->AddTrigger("!HLT_Photon135_v*&HLT_Photon70_CaloIdXL_PFMET100_v*",190456,193686);
hltModP->AddTrigger("!HLT_Photon150_v*&HLT_Photon70_CaloIdXL_PFMET100_v*",193687,199695);
hltModP->AddTrigger("!HLT_Photon135_v*&HLT_Photon70_CaloIdXL_PFMET100_v*",199696,209151);
}
else{
printf("ERROR, WRONG DATASET IDENTIFICATION FOR: %s\n",dataset);
return;
}
}
else{//MC
hltModP->AddTrigger("HLT_Photon135_v*",0,999999);
hltModP->AddTrigger("HLT_Photon70_CaloIdXL_PFMET100*",0,999999);
hltModP->AddTrigger("HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v*",0,999999);
hltModP->AddTrigger("HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v*",0,999999);
hltModP->AddTrigger("HLT_MET120_HBHENoiseCleaned_v*",0,999999);
//.........这里部分代码省略.........
示例2: runMonoJetSkim
//--------------------------------------------------------------------------------------------------
void runMonoJetSkim(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "s12-zjets-ptz100-v7a",
const char *book = "t2mit/filefi/032",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputLabel = "monojet",
int nEvents = 1000)
{
//------------------------------------------------------------------------------------------------
// json parameters get passed through the environment
// for MC, the value must be "~"
//------------------------------------------------------------------------------------------------
TString json(gSystem->Getenv("MIT_PROD_JSON"));
if (json.Length() == 0) {
printf(" JSON file was not properly defined. EXIT!\n");
return;
}
TString jsonFile = TString("/home/cmsprod/cms/json/") + json;
Bool_t isData = (json != "~");
TString MitData(gSystem->Getenv("MIT_DATA"));
if(MitData.Length() == 0){
MitData = gSystem->Getenv("CMSSW_BASE");
MitData += "/src/MitPhysics/data";
}
printf("\n Initialization worked: \n\n");
printf(" JSON : %s (file: %s)\n", json.Data(), jsonFile.Data());
printf(" isData : %d\n\n",isData);
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/cmsprod/cms/json/-") != 0) ) {
printf("\n Jason file added: %s \n\n",jsonFile.Data());
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
// Generator info
GeneratorMod *generatorMod = new GeneratorMod;
generatorMod->SetPrintDebug(kFALSE);
generatorMod->SetPtLeptonMin(0.0);
generatorMod->SetEtaLeptonMax(2.7);
generatorMod->SetPtPhotonMin(0.0);
generatorMod->SetEtaPhotonMax(2.7);
generatorMod->SetPtRadPhotonMin(0.0);
generatorMod->SetEtaRadPhotonMax(2.7);
generatorMod->SetIsData(isData);
generatorMod->SetFillHist(! isData);
generatorMod->SetApplyISRFilter(kFALSE);
generatorMod->SetApplyVVFilter(kFALSE);
generatorMod->SetApplyVGFilter(kFALSE);
generatorMod->SetFilterBTEvents(kFALSE);
//-----------------------------------------------------------------------------------------------------------
// HLT information : trigger not applied (neither for data nor for MC, store info to apply selection offline
//-----------------------------------------------------------------------------------------------------------
HLTMod *hltModP = new HLTMod("HLTModP");
// monojet triggers
const int nMjtTrigs = 12;
TString monoJetTriggers[nMjtTrigs] = { "HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v4",
"HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v3",
"HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v1",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v5",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v4",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v3",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v2",
"HLT_MET120_HBHENoiseCleaned_v6",
"HLT_MET120_HBHENoiseCleaned_v5",
"HLT_MET120_HBHENoiseCleaned_v4",
"HLT_MET120_HBHENoiseCleaned_v3",
"HLT_MET120_HBHENoiseCleaned_v2" };
for (int i=0; i<nMjtTrigs; i++)
hltModP->AddTrigger(TString("!+"+monoJetTriggers[i]),0,999999);
// VBF triggers
const int nVbfTrigs = 7;
TString vbfTriggers[nVbfTrigs] = { "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v9",
"HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v8",
//.........这里部分代码省略.........
示例3: runBavanti
//--------------------------------------------------------------------------------------------------
void runBavanti(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "r12b-smu-j22-v1",
const char *book = "t2mit/filefi/032",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "boostedv",
int nEvents = 1000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
TString cataDir = Utils::GetCatalogDir(catalogDir);
TString mitData = Utils::GetEnv("MIT_DATA");
TString json = Utils::GetEnv("MIT_PROD_JSON");
TString jsonFile = Utils::GetJsonFile("/home/cmsprod/cms/json");
Bool_t isData = (json.CompareTo("~") != 0);
printf("\n Initialization worked. Data?: %d\n\n",isData);
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
// debugging config
using namespace mithep;
gDebugMask = (Debug::EDebugMask) (Debug::kGeneral | Debug::kTreeIO);
gDebugLevel = 3;
// Caching and how
Int_t local = 1, cacher = 1;
// local = 0 - as is,
// 1 - /mt/hadoop (MIT:SmartCache - preload one-by-one)
// 2 - /mnt/hadoop (MIT:SmartCache - preload complete fileset)
// 3 - ./ (xrdcp - preload one-by-one)
// cacher = 0 - no file by file caching
// 1 - file by file caching on
//------------------------------------------------------------------------------------------------
// set up information for master module
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if (json.CompareTo("~") != 0 && json.CompareTo("-") != 0) {
printf(" runBoostedV() - adding jsonFile: %s\n",jsonFile.Data());
runLumiSel->AddJSONFile(jsonFile.Data());
}
if (json.CompareTo("-") == 0) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// setup analysis
//------------------------------------------------------------------------------------------------
Analysis *ana = new Analysis;
ana->SetUseCacher(cacher);
ana->SetUseHLT(kTRUE);
ana->SetKeepHierarchy(kTRUE);
ana->SetSuperModule(runLumiSel);
ana->SetPrintScale(100);
if (nEvents >= 0)
ana->SetProcessNEvents(nEvents);
//------------------------------------------------------------------------------------------------
// organize input
//------------------------------------------------------------------------------------------------
Catalog *c = new Catalog(cataDir.Data());
TString skimdataset = TString(dataset)+TString("/") +TString(skim);
Dataset *d = NULL;
TString bookstr = book;
if (TString(skim).CompareTo("noskim") == 0)
d = c->FindDataset(bookstr,dataset,fileset,local);
else
d = c->FindDataset(bookstr,skimdataset.Data(),fileset,local);
ana->AddDataset(d);
//------------------------------------------------------------------------------------------------
// organize output
//------------------------------------------------------------------------------------------------
TString rootFile = TString(outputName);
rootFile += TString("_") + TString(dataset) + TString("_") + TString(skim);
if (TString(fileset) != TString(""))
rootFile += TString("_") + TString(fileset);
ana->SetOutputName(rootFile + TString(".root"));
ana->SetCacheSize(0);
//------------------------------------------------------------------------------------------------
// select events with a good primary vertex
//------------------------------------------------------------------------------------------------
GoodPVFilterMod *goodPvFilterMod = new GoodPVFilterMod;
goodPvFilterMod->SetMinVertexNTracks(0);
goodPvFilterMod->SetMinNDof(4.0);
goodPvFilterMod->SetMaxAbsZ(24.0);
goodPvFilterMod->SetMaxRho(2.0);
goodPvFilterMod->SetIsMC(!isData);
goodPvFilterMod->SetVertexesName("PrimaryVertexes");
//.........这里部分代码省略.........
示例4: getCatalogDir
//--------------------------------------------------------------------------------------------------
void runBavantiBoostedV_Synch
(const char *fileset = "0000",
const char *skim = "noskim",
//const char *dataset = "s12-ttj-sl-v1-v7c",
const char *dataset = "GJets_HT-400ToInf_8TeV-madgraph+Summer12_DR53X-PU_S10_START53_V7A-v1+AODSIM",
const char *book = "t2mit/filefi/032",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "boostedv",
int nEvents = 10)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
TString cataDir = getCatalogDir(catalogDir);
TString mitData = Utils::GetEnv("MIT_DATA");
TString json = Utils::GetEnv("MIT_PROD_JSON");
TString jsonFile = getJsonFile("/home/cmsprod/cms/json");
Bool_t isData = (json.CompareTo("~") != 0);
// only for synchrionization purposes
isData = kFALSE;
printf("\n Initialization worked. Data?: %d\n\n",isData);
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
// debugging config
using namespace mithep;
gDebugMask = (Debug::EDebugMask) (Debug::kGeneral | Debug::kTreeIO);
gDebugLevel = 3;
// Caching and how
Int_t local = 1, cacher = 1;
// local = 0 - as is,
// 1 - /mt/hadoop (MIT:SmartCache - preload one-by-one)
// 2 - /mnt/hadoop (MIT:SmartCache - preload complete fileset)
// 3 - ./ (xrdcp - preload one-by-one)
// cacher = 0 - no file by file caching
// 1 - file by file caching on
//------------------------------------------------------------------------------------------------
// set up information for master module
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if (json.CompareTo("~") != 0 && json.CompareTo("-") != 0) {
printf(" runBoostedV() - adding jsonFile: %s\n",jsonFile.Data());
runLumiSel->AddJSONFile(jsonFile.Data());
}
if (json.CompareTo("-") == 0) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// setup analysis
//------------------------------------------------------------------------------------------------
Analysis *ana = new Analysis;
ana->SetUseCacher(cacher);
ana->SetUseHLT(kTRUE);
ana->SetKeepHierarchy(kTRUE);
ana->SetSuperModule(runLumiSel);
ana->SetPrintScale(100);
if (nEvents >= 0)
ana->SetProcessNEvents(nEvents);
//------------------------------------------------------------------------------------------------
// organize input
//------------------------------------------------------------------------------------------------
Catalog *c = new Catalog(cataDir.Data());
TString skimdataset = TString(dataset)+TString("/") +TString(skim);
Dataset *d = NULL;
TString bookstr = book;
if (TString(skim).CompareTo("noskim") == 0)
d = c->FindDataset(bookstr,dataset,fileset,local);
else
d = c->FindDataset(bookstr,skimdataset.Data(),fileset,local);
ana->AddDataset(d);
//------------------------------------------------------------------------------------------------
// organize output
//------------------------------------------------------------------------------------------------
TString rootFile = TString(outputName);
rootFile += TString("_") + TString(dataset) + TString("_") + TString(skim);
if (TString(fileset) != TString(""))
rootFile += TString("_") + TString(fileset);
TString ntupleFile = rootFile + TString("_ntuple");
rootFile += TString(".root");
ana->SetOutputName(rootFile.Data());
ana->SetCacheSize(0);
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModP = new HLTMod("HLTModP");
//.........这里部分代码省略.........
示例5: runHgg2012HCP
//--------------------------------------------------------------------------------------------------
void runHgg2012HCP(const char *fileset = "0000",
const char *skim = "noskim",
//const char *dataset = "f11--h120gg-gf-v14b-pu",
//const char *dataset = "r11a-pho-j16-v1",
//const char *dataset = "meridiani2012-diphoj-v9",
//const char *dataset = "s12-h125gg-gf-v9",
//const char *dataset = "s12-pj40-2em-v9",
//const char *dataset = "s12-diphoj-3-v9",
//const char *dataset = "s12-zllm50-v9",
//const char *dataset = "f11--h121gg-gf-v14b-pu",
//const char *dataset = "r12a-pho-pr-v1",
//const char *dataset = "s12-pj40-2em-v9",
//const char *dataset = "s12-h125gg-vbf-v7a",
const char *dataset = "s12-h125gg-vh-v7a",
//const char *dataset = "s12-h125gg-gf-v7a",
//const char *dataset = "r12a-pho-j13-v1",
//const char *dataset = "r12b-dph-j13-v1",
const char *book = "t2mit/filefi/029",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "hgg",
int nEvents = 1000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
sprintf(json, "%s", "~");
//printf(" JSON file was not properly defined. EXIT!\n");
//return;
}
TString jsonFile = TString("/home/fabstoec/cms/json/") + TString(json);
//TString jsonFile = TString("/home/fabstoec/cms/json/") + TString("Cert_136033-149442_7TeV_Dec22ReReco_Collisions10_JSON_v4.txt");
Bool_t isData = ( (jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
sprintf(overlap,"%s", "-1.0");
//printf(" OVERLAP file was not properly defined. EXIT!\n");
//return;
}
printf("\n Initialization worked. \n\n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
MCProcessSelectionMod *mcselmod = new MCProcessSelectionMod;
MVASystematicsMod *sysMod = new MVASystematicsMod;
sysMod->SetMCR9Scale(1.0035, 1.0035);
sysMod->SetIsData(isData);
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/fabstoec/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/fabstoec/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModM = new HLTMod("HLTModM");
hltModM->AddTrigger("HLT_Mu9");
hltModM->AddTrigger("HLT_Mu11");
hltModM->AddTrigger("HLT_Mu15_v1");
hltModM->SetTrigObjsName("MyHltMuonObjs");
hltModM->SetAbortIfNotAccepted(kFALSE);
HLTMod *hltModE = new HLTMod("HLTModE");
hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v1",150000,161176);
hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v2",161179,163261);
//.........这里部分代码省略.........
示例6: runH2gSkim
//--------------------------------------------------------------------------------------------------
void runH2gSkim(const char *fileset = "",
const char *skim = "noskim",
const char *dataset = "f11--h120gg-gf-v14b-pu",
const char *book = "cern/filefi/025",
const char *catalogDir = "/home/mitprod/catalog",
const char *outputName = "h2g",
int nEvents = -1)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
sprintf(json, "%s", "~");
//printf(" JSON file was not properly defined. EXIT!\n");
//return;
}
TString jsonFile = TString("/home/cmsprod/cms/json/") + TString(json);
Bool_t isData = ( (jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
sprintf(overlap,"%s", "-1.0");
//printf(" OVERLAP file was not properly defined. EXIT!\n");
//return;
}
printf("\n Initialization worked. \n\n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/cmsprod/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
TwoPhotonSelMod *twophotonsel = new TwoPhotonSelMod;
twophotonsel->SetPtMin(20.);
twophotonsel->SetMassMin(55.);
MCParticleSelMod *mcselmod = new MCParticleSelMod;
mcselmod->AddAbsPdgId(11);
mcselmod->AddAbsPdgId(12);
mcselmod->AddAbsPdgId(13);
mcselmod->AddAbsPdgId(14);
mcselmod->AddAbsPdgId(15);
mcselmod->AddAbsPdgId(16);
mcselmod->AddAbsPdgId(23);
mcselmod->AddAbsPdgId(24);
mcselmod->AddAbsPdgId(25);
SkimMod<MCParticle> *skimMod = 0;
if (! isData) {
skimMod = new SkimMod<MCParticle>;
skimMod->SetBranchName("MCParticles");
}
OutputMod *outMod = new OutputMod;
outMod->Keep("*");
outMod->Drop("CaloTowers");
outMod->Drop("MCParticles");
outMod->Drop("*Jets*");
outMod->Keep("AKT5GenJets");
outMod->Keep("AKt5PFJets");
if (! isData)
outMod->AddNewBranch("SkmMCParticles");
//.........这里部分代码省略.........
示例7: runHgll_2012_resync_mu
//--------------------------------------------------------------------------------------------------
void runHgll_2012_resync_mu(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "r11a-del-j16-v1",
const char *book = "local/filefi/025",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "hgll",
int nEvents = -1)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
sprintf(json, "%s", "~");
//printf(" JSON file was not properly defined. EXIT!\n");
//return;
}
TString jsonFile = TString("/home/fabstoec/cms/json/") + TString(json);
//TString jsonFile = TString("/home/auhess/cms/json/") + TString("Cert_136033-149442_7TeV_Dec22ReReco_Collisions10_JSON_v4.txt");
Bool_t isData = ( (jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
sprintf(overlap,"%s", "-1.0");
//printf(" OVERLAP file was not properly defined. EXIT!\n");
//return;
}
printf("\n Initialization worked. \n\n");
//isData = kFALSE;
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC( kTRUE ); // Monte Carlo events are always accepted
MVASystematicsMod *sysMod = new MVASystematicsMod;
sysMod->SetMCR9Scale(1.0035, 1.0035);
sysMod->SetIsData(isData);
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/fabstoec/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/fabstoec/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
//printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModll = new HLTMod("HLTModll");
// hltModll->AddTrigger("HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*",161217, 166967);
// hltModll->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*",167039, 196531);
// hltModll->AddTrigger("HLT_DoubleMu7_v*", 160431, 163869);
// hltModll->AddTrigger("HLT_Mu13_Mu8_v*", 165088, 178380);
// hltModll->AddTrigger("HLT_Mu17_Mu8_v*", 178420, 196531);
hltModll->AddTrigger("HLT_Mu17_Mu8_v*", 0, 196531);
// hltModll->AddTrigger("HLT_Mu17_TkMu8_v*", 178420, 196531);
// hltModll->AddTrigger("HLT_Mu22_Mu8_v*", 178420, 196531);
//hltModll->AddTrigger("HLT_Mu22_TkMu8_v*", 178420, 196531);
// hltModll->AddTrigger("HLT_IsoMu24_v*", 178420, 196531);
// hltModll->AddTrigger("HLT_IsoMu24_eta2p1_v*", 178420, 196531);
hltModll->SetTrigObjsName("MyHltElecObjs");
// hltModll->SetAbortIfNotAccepted( false );
hltModll->SetAbortIfNotAccepted( true );
//------------------------------------------------------------------------------------------------
// select events with a good primary vertex
//------------------------------------------------------------------------------------------------
GoodPVFilterMod *goodPVFilterMod = new GoodPVFilterMod;
goodPVFilterMod->SetMinVertexNTracks(0);
goodPVFilterMod->SetMinNDof (4.0);
//.........这里部分代码省略.........
示例8: runShowerCorrections
//--------------------------------------------------------------------------------------------------
void runShowerCorrections(const char *fileset = "0000",
const char *skim = "noskim",
// const char *dataset = "s12-zllm50-v7n",
// const char *dataset = "r10b-pho-d22",
const char *dataset = "r12a-pho-j22-v1",
// const char *book = "local/filefi/031",
// const char *book = "t2mit/filefi/030",
const char *book = "t2mit/filefi/029",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "hgg",
int nEvents = 10000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
printf(" JSON file was not properly defined. EXIT!\n");
return;
}
//TString jsonFile = TString("/home/cmsprod/json/") + TString(json);
TString jsonFile = TString("/home/fabstoec/cms/json/") + TString(json);
Bool_t isData = ( (jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
printf(" OVERLAP file was not properly defined. EXIT!\n");
return;
}
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/fabstoec/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModE = new HLTMod("HLTModE");
/// HLT paths for tag and probe in 2012
hltModE->AddTrigger("HLT_Ele17_CaloIdVT_CaloIsoVT_TrkIdT_TrkIsoVT_Ele8_Mass50_v*");
hltModE->AddTrigger("HLT_Ele20_CaloIdVT_CaloIsoVT_TrkIdT_TrkIsoVT_SC4_Mass50_v*");
hltModE->AddTrigger("HLT_Ele32_CaloIdT_CaloIsoT_TrkIdT_TrkIsoT_SC17_Mass50_v*");
hltModE->SetTrigObjsName("MyHltElecObjs");
hltModE->SetAbortIfNotAccepted(kFALSE);
//------------------------------------------------------------------------------------------------
// select events with a good primary vertex
//------------------------------------------------------------------------------------------------
GoodPVFilterMod *goodPVFilterMod = new GoodPVFilterMod;
goodPVFilterMod->SetMinVertexNTracks(0);
goodPVFilterMod->SetMinNDof (5);
goodPVFilterMod->SetMaxAbsZ (24.0);
goodPVFilterMod->SetMaxRho (2.0);
goodPVFilterMod->SetIsMC (!isData);
// our MIT Photons ID with iverted veto - we are looking at electrons
PhotonIDMod *photidpreselinvert = new PhotonIDMod("PhotonIDModPreselInvert");
photidpreselinvert->SetPtMin(15.);
photidpreselinvert->SetOutputName("GoodPhotonsPreselidInvert");
photidpreselinvert->SetIDType("MITPFSelectionNoEcal");
//photidpreselinvert->SetIDType("TrivialSelection");
photidpreselinvert->SetIdMVAType("2013FinalIdMVA");
photidpreselinvert->SetApplyElectronVeto(kFALSE);
photidpreselinvert->SetInvertElectronVeto(kTRUE);
photidpreselinvert->SetIsData(isData);
//photidpreselinvert->SetApplyFiduciality(kFALSE);
//.........这里部分代码省略.........
示例9: runPhRes
//--------------------------------------------------------------------------------------------------
void runPhRes(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "w10-zz-z2-v8-pu",
//const char *dataset = "r10b-pho-d22",
const char *book = "t2mit/filefi/017",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "hgg",
int nEvents = 1000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
printf(" JSON file was not properly defined. EXIT!\n");
return;
}
//TString jsonFile = TString("/home/cmsprod/json/") + TString(json);
TString jsonFile = TString("/home/fabstoec/cms/json/") + TString(json);
Bool_t isData = ( (jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
printf(" OVERLAP file was not properly defined. EXIT!\n");
return;
}
printf("\n Initialization worked. \n\n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/fabstoec/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/fabstoec/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModEle = new HLTMod("HltModEle");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v1");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v2");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v3");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v4");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v5");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v6");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v7");
hltModEle->AddTrigger("HLT_Ele32_CaloIdL_CaloIsoVL_SC17_v8");
hltModEle->SetTrigObjsName("MyHltPhotObjsEle");
hltModEle->SetAbortIfNotAccepted(isData);
//------------------------------------------------------------------------------------------------
// select events with a good primary vertex
//------------------------------------------------------------------------------------------------
GoodPVFilterMod *goodPVFilterMod = new GoodPVFilterMod;
goodPVFilterMod->SetMinVertexNTracks(0);
goodPVFilterMod->SetMinNDof (5);
goodPVFilterMod->SetMaxAbsZ (24.0);
goodPVFilterMod->SetMaxRho (2.0);
goodPVFilterMod->SetIsMC(!isData);
PhotonIDMod *photId = new PhotonIDMod;
photId-> SetIsoType("MITPUCorrected");
photId-> SetApplySpikeRemoval(false);
photId-> SetApplyPixelSeed(false);
photId-> SetApplyElectronVetoConvRecovery(false);
photId-> SetApplyConversionId(false);
photId-> SetHadOverEmMax(0.05);
photId-> SetPtMin(20.);
photId-> SetEtaWidthEB(0.010);
photId-> SetEtaWidthEE(0.028);
//.........这里部分代码省略.........
示例10: runH4lSkim
//--------------------------------------------------------------------------------------------------
void runH4lSkim(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "r11b-pho-pr-v1",
const char *book = "local/filefi/025",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "h4l",
int nEvents = 1000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024], path[1024];
float overlapCut = -1;
if (decodeEnv(json,overlap,overlapCut,path) != 0)
return;
TString jsonFile = TString("/home/cmsprod/cms/json/") + TString(json);
Bool_t isData = (jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0);
printf("\n Initialization worked: \n\n");
printf(" JSON : %s (file: %s)\n", json,jsonFile.Data());
printf(" OVERLAP: %s\n\n",overlap);
printf(" PATH : %s\n", path);
printf(" isData : %d\n\n",isData);
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/cmsprod/cms/json/-") != 0) ) {
printf("\n Jason file added: %s \n\n",jsonFile.Data());
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// the skimmer
//------------------------------------------------------------------------------------------------
H4lSkim *skmMod = new H4lSkim();
//------------------------------------------------------------------------------------------------
// making analysis chain
//------------------------------------------------------------------------------------------------
runLumiSel->Add(skmMod);
//------------------------------------------------------------------------------------------------
// setup analysis
//------------------------------------------------------------------------------------------------
Analysis *ana = new Analysis;
ana->SetUseHLT (kTRUE);
ana->SetKeepHierarchy(kTRUE);
ana->SetSuperModule (runLumiSel);
ana->SetPrintScale (100);
if (nEvents >= 0)
ana->SetProcessNEvents(nEvents);
//------------------------------------------------------------------------------------------------
// organize input
//------------------------------------------------------------------------------------------------
Catalog *c = new Catalog(catalogDir);
TString skimDataset = TString(dataset)+TString("/") +TString(skim);
Dataset *d = NULL;
if (TString(skim).CompareTo("noskim") == 0)
d = c->FindDataset(book,dataset,fileset);
else
d = c->FindDataset(book,skimDataset.Data(),fileset);
ana->AddDataset(d);
//------------------------------------------------------------------------------------------------
// organize hist/ntuple output
//------------------------------------------------------------------------------------------------
ana->SetOutputName("test.root");
ana->SetCacheSize(64*1024*1024);
//------------------------------------------------------------------------------------------------
// organize root output
//------------------------------------------------------------------------------------------------
OutputMod *outMod = new OutputMod;
outMod->Drop("*");
outMod->Keep("EventHeader");
outMod->Keep("PileupInfo");
outMod->Keep("HLTObjects");
//.........这里部分代码省略.........
示例11: runMonoJetSkim
//--------------------------------------------------------------------------------------------------
void runMonoJetSkim(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "MET+Run2015B-PromptReco-v1+AOD",
const char *book = "t2mit/filefi/041",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputLabel = "monojet",
int nEvents = 1000)
{
float maxJetEta = 2.5;
float minMet = 100.;
float minLeadJetPt = 100.;
//------------------------------------------------------------------------------------------------
// json parameters get passed through the environment
// for MC, the value must be "~"
//------------------------------------------------------------------------------------------------
TString json(gSystem->Getenv("MIT_PROD_JSON"));
if (json.Length() == 0) {
printf(" JSON file was not properly defined. EXIT!\n");
return;
}
Bool_t isData = (json != "~");
TString MitData(gSystem->Getenv("MIT_DATA"));
if (MitData.Length() == 0) {
printf(" MIT_DATA was not defined. EXIT!\n");
return;
}
TString jsonDir(gSystem->Getenv("MIT_JSON_DIR"));
if (jsonDir.Length() == 0) {
printf(" MIT_JSON_DIR was not defined. EXIT!\n");
return;
}
printf("\n Initialization worked: \n\n");
printf(" JSON : %s\n", json.Data());
printf(" isData : %d\n\n",isData);
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
std::vector<mithep::BaseMod*> modules;
if (isData) {
RunLumiSelectionMod* runLumiSel = new RunLumiSelectionMod;
// only select on run- and lumisection numbers when valid json file present
if ((json.CompareTo("-") == 0)) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
else if (json.CompareTo("~") != 0) {
printf("\n Json file added: %s \n\n", json.Data());
runLumiSel->AddJSONFile((jsonDir + "/" + json).Data());
}
modules.push_back(runLumiSel);
}
//-----------------------------------------------------------------------------------------------------------
// HLT information : trigger not applied (neither for data nor for MC, store info to apply selection offline
//-----------------------------------------------------------------------------------------------------------
HLTMod *hltMod = new HLTMod();
// monojet triggers
std::vector<TString> triggerNames[MonoJetAnalysisMod::nMonoJetCategories];
triggerNames[MonoJetAnalysisMod::kSignal].push_back("HLT_PFMETNoMu120_NoiseCleaned_PFMHTNoMu120_IDTight_v*");
triggerNames[MonoJetAnalysisMod::kSignal].push_back("HLT_PFMETNoMu90_NoiseCleaned_PFMHTNoMu90_IDTight_v*");
triggerNames[MonoJetAnalysisMod::kSingleMuon].push_back("HLT_PFMETNoMu120_NoiseCleaned_PFMHTNoMu120_IDTight_v*");
triggerNames[MonoJetAnalysisMod::kSingleMuon].push_back("HLT_PFMETNoMu90_NoiseCleaned_PFMHTNoMu90_IDTight_v*");
triggerNames[MonoJetAnalysisMod::kSingleMuon].push_back("HLT_IsoMu27_v*");
triggerNames[MonoJetAnalysisMod::kDimuon].push_back("HLT_PFMETNoMu120_NoiseCleaned_PFMHTNoMu120_IDTight_v*");
triggerNames[MonoJetAnalysisMod::kDimuon].push_back("HLT_PFMETNoMu90_NoiseCleaned_PFMHTNoMu90_IDTight_v*");
triggerNames[MonoJetAnalysisMod::kDimuon].push_back("HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v*");
triggerNames[MonoJetAnalysisMod::kSingleElectron].push_back("HLT_Ele27_eta2p1_WPLoose_Gsf_v*");
triggerNames[MonoJetAnalysisMod::kDielectron].push_back("HLT_Ele17_Ele12_CaloIdL_TrackIdL_IsoVL_DZ_v*");
triggerNames[MonoJetAnalysisMod::kPhoton].push_back("HLT_Photon175_v*");
for (auto& names : triggerNames) {
for (auto& name : names)
hltMod->AddTrigger(name);
}
hltMod->SetBitsName("HLTBits");
hltMod->SetTrigObjsName("MonoJetTriggerObjects");
hltMod->SetAbortIfNotAccepted(isData);
hltMod->SetAbortIfNoData(kFALSE);
modules.push_back(hltMod);
//.........这里部分代码省略.........
示例12: runFlatMonoJet
//--------------------------------------------------------------------------------------------------
void runFlatMonoJet(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "s12-zjets-ptz70-100-v7c",
const char *book = "t2mit/filefi/032",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "MonoJet_August13",
int nEvents = 100)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
TString cataDir = getCatalogDir(catalogDir);
TString mitData = mithep::Utils::GetEnv("MIT_DATA");
TString json = mithep::Utils::GetEnv("MIT_PROD_JSON");
TString jsonFile = getJsonFile("/home/cmsprod/cms/json");
Bool_t isData = (json.CompareTo("~") != 0);
printf("\n Initialization worked. Data?: %d\n\n",isData);
std::cout<<"*********** Is data?? **********"<<isData<<std::endl;
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = (Debug::EDebugMask) (Debug::kGeneral | Debug::kTreeIO);
gDebugLevel = 3;
// Caching and how
Int_t local = 1, cacher = 1;
// local = 0 - as is,
// 1 - /mnt/hadoop (MIT:SmartCache - preload one-by-one)
// 2 - /mnt/hadoop (MIT:SmartCache - preload complete fileset)
// 3 - ./ (xrdcp - preload one-by-one)
// cacher = 0 - no file by file caching
// 1 - file by file caching on
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(!isData);
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
// only select on run- and lumisection numbers when valid json file present
if (json.CompareTo("~") != 0 && json.CompareTo("-") != 0) {
printf(" runBoostedV() - adding jsonFile: %s\n",jsonFile.Data());
runLumiSel->AddJSONFile(jsonFile.Data());
}
if (json.CompareTo("-") == 0) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
// Generator info
GeneratorMod *generatorMod = new GeneratorMod;
generatorMod->SetPrintDebug(kFALSE);
generatorMod->SetPtLeptonMin(0.0);
generatorMod->SetEtaLeptonMax(2.7);
generatorMod->SetPtPhotonMin(0.0);
generatorMod->SetEtaPhotonMax(2.7);
generatorMod->SetPtRadPhotonMin(0.0);
generatorMod->SetEtaRadPhotonMax(2.7);
generatorMod->SetIsData(isData);
generatorMod->SetFillHist(!isData);
generatorMod->SetApplyISRFilter(kFALSE);
generatorMod->SetApplyVVFilter(kFALSE);
generatorMod->SetApplyVGFilter(kFALSE);
generatorMod->SetFilterBTEvents(kFALSE);
//-----------------------------------------------------------------------------------------------------------
// HLT information : trigger not applied (neither for data nor for MC, store info to apply selection offline
//-----------------------------------------------------------------------------------------------------------
HLTMod *hltModP = new HLTMod("HLTModP");
// monojet triggers
const int nMjtTrigs = 12;
TString monoJetTriggers[nMjtTrigs] = { "HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v4",
"HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v3",
"HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v1",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v5",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v4",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v3",
"HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v2",
"HLT_MET120_HBHENoiseCleaned_v6",
"HLT_MET120_HBHENoiseCleaned_v5",
"HLT_MET120_HBHENoiseCleaned_v4",
"HLT_MET120_HBHENoiseCleaned_v3",
"HLT_MET120_HBHENoiseCleaned_v2" };
for (int i=0; i<nMjtTrigs; i++)
hltModP->AddTrigger(TString("!+"+monoJetTriggers[i]),0,999999);
// VBF triggers
const int nVbfTrigs = 7;
TString vbfTriggers[nVbfTrigs] = { "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v9",
"HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v8",
"HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v6",
//.........这里部分代码省略.........
示例13: runHgg
//--------------------------------------------------------------------------------------------------
void runHgg(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "f11--h123gg-gf-v14b-pu",
//const char *dataset = "r11a-pho-j16-v1",
const char *book = "local/filefi/025",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "hgg",
int nEvents = 2000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
sprintf(json, "%s", "~");
//printf(" JSON file was not properly defined. EXIT!\n");
//return;
}
TString jsonFile = TString("/home/mingyang/cms/json/") + TString(json);
//TString jsonFile = TString("/home/mingyang/cms/json/") + TString("Cert_136033-149442_7TeV_Dec22ReReco_Collisions10_JSON_v4.txt");
Bool_t isData = ( (jsonFile.CompareTo("/home/mingyang/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
sprintf(overlap,"%s", "-1.0");
//printf(" OVERLAP file was not properly defined. EXIT!\n");
//return;
}
printf("\n Initialization worked. \n\n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
MCProcessSelectionMod *mcselmod = new MCProcessSelectionMod;
MVASystematicsMod *sysMod = new MVASystematicsMod;
sysMod->SetMCR9Scale(1.0035, 1.0035);
sysMod->SetIsData(isData);
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/mingyang/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/mingyang/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/mingyang/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked. \n\n");
//------------------------------------------------------------------------------------------------
// HLT information
//------------------------------------------------------------------------------------------------
HLTMod *hltModM = new HLTMod("HLTModM");
hltModM->AddTrigger("HLT_Mu9");
hltModM->AddTrigger("HLT_Mu11");
hltModM->AddTrigger("HLT_Mu15_v1");
hltModM->SetTrigObjsName("MyHltMuonObjs");
hltModM->SetAbortIfNotAccepted(kFALSE);
HLTMod *hltModE = new HLTMod("HLTModE");
// hltModE->AddTrigger("HLT_Photon10_L1R",132440,137028);
// hltModE->AddTrigger("HLT_Photon15_Cleaned_L1R",138564,140401);
// hltModE->AddTrigger("HLT_Ele15_SW_CaloEleId_L1R",141956,144114);
// hltModE->AddTrigger("HLT_Ele17_SW_CaloEleId_L1R",144115,147145);
// hltModE->AddTrigger("HLT_Ele17_SW_TightEleId_L1R",147146,148102);
// hltModE->AddTrigger("HLT_Ele27_SW_TightCaloEleIdTrack_L1R_v1",147146,148102);
// hltModE->AddTrigger("HLT_Ele22_SW_TighterCaloIdIsol_L1R_v1",148103,159999);
// hltModE->AddTrigger("HLT_Ele22_SW_TighterCaloIdIsol_L1R_v2",148103,159999);
// hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v1",160000,999999);
// hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v2",160000,999999);
// hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v3",160000,999999);
// hltModE->AddTrigger("HLT_Ele15_LW_L1R",1,1);
// hltModE->AddTrigger("HLT_Ele17_SW_CaloEleId_L1R",1,1);
// hltModE->AddTrigger("HLT_Ele22_SW_TighterCaloIdIsol_L1R_v2",1,1);
//.........这里部分代码省略.........
示例14: runMonoJetTrigger
//--------------------------------------------------------------------------------------------------
void runMonoJetTrigger(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "s12-wglg-v7a",
const char *book = "t2mit/filefi/029",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "gmet",
int nEvents = 1000)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
sprintf(json, "%s", "~");
//printf(" JSON file was not properly defined. EXIT!\n");
//return;
}
TString jsonFile = TString("/home/cmsprod/cms/json/") + TString(json);
//TString jsonFile = TString("/home/cmsprod/cms/json/") + TString("Cert_136033-149442_7TeV_Dec22ReReco_Collisions10_JSON_v4.txt");
Bool_t isData = ( (jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) );
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
sprintf(overlap,"%s", "-1.0");
//printf(" OVERLAP file was not properly defined. EXIT!\n");
//return;
}
printf("\n Initialization worked \n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
MVASystematicsMod *sysMod = new MVASystematicsMod;
sysMod->SetMCR9Scale(1.0035, 1.0035);
sysMod->SetIsData(isData);
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(!isData);
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/cmsprod/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
// runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
}
printf("\n Run lumi worked\n");
//------------------------------------------------------------------------------------------------
// HLT information : [TBF]
//------------------------------------------------------------------------------------------------
HLTMod *hltModP = new HLTMod("HLTModP");
//------------------------------------------------------------------------------------------------
// Run2012
//------------------------------------------------------------------------------------------------
hltModP->AddTrigger("HLT_IsoMu24_eta2p1_v*",0,999999);
//store the relevant objects
hltModP->AddTrigger("HLT_MET120_HBHENoiseCleaned_v*",0,999999); //met type 87
hltModP->AddTrigger("!HLT_MET120_HBHENoiseCleaned_v*",0,999999); //met type 87
hltModP->AddTrigger("HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v*",0,999999); //jet 85 , met 90
hltModP->AddTrigger("!HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v*",0,999999); //jet 85 , met 90
hltModP->AddTrigger("HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v*",0,999999); //jet 85 , met 90
hltModP->AddTrigger("!HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v*",0,999999); //jet 85 , met 90
hltModP->SetTrigObjsName("MyHltObjs");
hltModP->SetAbortIfNotAccepted(isData);
hltModP->SetPrintTable(kFALSE); // set to true to print HLT table
//------------------------------------------------------------------------------------------------
// split pfcandidates to PFPU and PFnoPU
//------------------------------------------------------------------------------------------------
SeparatePileUpMod* SepPUMod = new SeparatePileUpMod;
// SepPUMod->SetUseAllVerteces(kFALSE);
//.........这里部分代码省略.........
示例15: runFlatMonoJet
//--------------------------------------------------------------------------------------------------
void runFlatMonoJet(const char *fileset = "0000",
const char *skim = "noskim",
const char *dataset = "s12-wjets-ptw100-v7a",
const char *book = "t2mit/filefi/031",
const char *catalogDir = "/home/cmsprod/catalog",
const char *outputName = "MonoJet_August13",
int nEvents = 100)
{
//------------------------------------------------------------------------------------------------
// some parameters get passed through the environment
//------------------------------------------------------------------------------------------------
char json[1024], overlap[1024];
float overlapCut = -1;
if (gSystem->Getenv("MIT_PROD_JSON"))
sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
else {
sprintf(json, "%s", "~");
}
TString jsonFile = TString("/home/cmsprod/cms/json/") + TString(json);
std::cout<<"JSON "<<jsonFile<<std::endl;
Bool_t isData = ( (jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) );
std::cout<<"*********** Is data?? **********"<<isData<<std::endl;
if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
if (EOF == sscanf(overlap,"%f",&overlapCut)) {
printf(" Overlap was not properly defined. EXIT!\n");
return;
}
}
else {
sprintf(overlap,"%s", "-1.0");
//printf(" OVERLAP file was not properly defined. EXIT!\n");
//return;
}
printf("\n Initialization worked \n");
//------------------------------------------------------------------------------------------------
// some global setups
//------------------------------------------------------------------------------------------------
using namespace mithep;
gDebugMask = Debug::kGeneral;
gDebugLevel = 3;
//------------------------------------------------------------------------------------------------
// set up information
//------------------------------------------------------------------------------------------------
RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
runLumiSel->SetAcceptMC(!isData);
runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
// only select on run- and lumisection numbers when valid json file present
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/~") != 0) &&
(jsonFile.CompareTo("/home/cmsprod/cms/json/-") != 0) ) {
runLumiSel->AddJSONFile(jsonFile.Data());
}
if ((jsonFile.CompareTo("/home/cmsprod/cms/json/-") == 0) ) {
printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
}
printf("\n Run lumi worked\n");
// Generator info
GeneratorMod *generatorMod = new GeneratorMod;
generatorMod->SetPrintDebug(kFALSE);
generatorMod->SetPtLeptonMin(0.0);
generatorMod->SetEtaLeptonMax(2.7);
generatorMod->SetPtPhotonMin(0.0);
generatorMod->SetEtaPhotonMax(2.7);
generatorMod->SetPtRadPhotonMin(0.0);
generatorMod->SetEtaRadPhotonMax(2.7);
generatorMod->SetIsData(isData);
generatorMod->SetFillHist(!isData);
generatorMod->SetApplyISRFilter(kFALSE);
generatorMod->SetApplyVVFilter(kFALSE);
generatorMod->SetApplyVGFilter(kFALSE);
generatorMod->SetFilterBTEvents(kFALSE);
//-----------------------------------------------------------------------------------------------------------
// HLT information : trigger not applied (neither for data nor for MC, store info to apply selection offline
//-----------------------------------------------------------------------------------------------------------
HLTMod *hltModP = new HLTMod("HLTModP");
// monojet triggers
TString monoJetTriggers[12] = {"HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v4", "HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v3", "HLT_MonoCentralPFJet80_PFMETnoMu105_NHEF0p95_v1", "HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v5", "HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v4", "HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v3", "HLT_MonoCentralPFJet80_PFMETnoMu95_NHEF0p95_v2","HLT_MET120_HBHENoiseCleaned_v6", "HLT_MET120_HBHENoiseCleaned_v5", "HLT_MET120_HBHENoiseCleaned_v4", "HLT_MET120_HBHENoiseCleaned_v3", "HLT_MET120_HBHENoiseCleaned_v2"};
for (int i=0; i<12; i++) {
hltModP->AddTrigger(monoJetTriggers[i],0,999999); //jet 85 , met 90
hltModP->AddTrigger(TString("!"+monoJetTriggers[i]),0,999999); //jet 85 , met 90
}
// VBF triggers
TString vbfTriggers[12] = {"HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v9", "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v8", "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v6", "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v5", "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v4", "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v3", "HLT_DiPFJet40_PFMETnoMu65_MJJ800VBF_AllJets_v2"};
for (int i=0; i<12; i++) {
hltModP->AddTrigger(vbfTriggers[i],0,999999); //jet 85 , met 90
hltModP->AddTrigger(TString("!"+vbfTriggers[i]),0,999999); //jet 85 , met 90
//.........这里部分代码省略.........