Esempio n. 1
0
StrVector ProbabilityModel::getLabels()
{
	StrVector result;
	for (StrFloatMap::iterator it = labelProbs.begin(); it != labelProbs.end(); it++)
		result.push_back(it->first);
	return result;
}
Esempio n. 2
0
StrVector Tool::SortArgs(ArgsVector& Args) const {
  StrVector Out;

  // HACK: this won't be needed when we'll migrate away from CommandLine.
  std::stable_sort(Args.begin(), Args.end(),
                   &CompareFirst<unsigned, std::string>);
  for (ArgsVector::iterator B = Args.begin(), E = Args.end(); B != E; ++B) {
    Out.push_back(B->second);
  }

  return Out;
}
Esempio n. 3
0
std::vector<std::string> NaiveBayes::eval()
{
	std::vector<std::string> results;
	for (Data::iterator rowIt = testSet->begin(); rowIt != testSet->end() ; rowIt++)
	{
		DataRow &row = *rowIt;
		StrVector labels = this->model->getLabels();
		std::string maxLabel = labels[0];
		float maxProb = 0.0f;
		for (StrVector::iterator labelIt = labels.begin(); labelIt != labels.end(); labelIt++)
		{
			float prob = this->model->getProbability(&row, *labelIt);
			if (prob > maxProb)
			{
				maxProb = prob;
				maxLabel = *labelIt;
			}
		}
		results.push_back(maxLabel);
	}
	return results;
}
Esempio n. 4
0
//--------------------------------------------------------------------------------------------------------------
void DownloadManager::MarkMapAsDownloadedFromServer( const char *serverMapName )
{
	if ( !serverMapName )
		return;

	if ( HasMapBeenDownloadedFromServer( serverMapName ) )
		return;

	m_downloadedMaps.AddToTail( CloneString( serverMapName ) );


	return;
}
Esempio n. 5
0
void testSingleRateModel(Params &params, NGSAlignment &aln, NGSTree &tree, string model,
                         double *freq, DoubleVector &rate_info, StrVector &rate_name,
                         bool write_info, const char *report_file)
{
    char model_name[20];
    NGSAlignment sum_aln(aln.num_states, 1, freq);
    ModelsBlock *models_block = new ModelsBlock;

    NGSTree sum_tree(params, &sum_aln);
    sum_aln.tree = &sum_tree;

    if (model == "")
        sprintf(model_name, "GTR+F1");
    else
        sprintf(model_name, "%s+F1", model.c_str());
    try {
        params.model_name = model_name;
        sum_tree.setModelFactory(new ModelFactory(params, &sum_tree, models_block));
        sum_tree.setModel(sum_tree.getModelFactory()->model);
        sum_tree.setRate(sum_tree.getModelFactory()->site_rate);
        double bestTreeScore = sum_tree.getModelFactory()->optimizeParameters(false, write_info);
        cout << "LogL: " << bestTreeScore;
        cout << " / Rate: " << sum_tree.getRate()->getRate(0) << endl;
    } catch (...) {
        cout << "Skipped due to sparse matrix" << endl;
        //rate_info.push_back(MIN_SITE_RATE);
        rate_info.insert(rate_info.end(), rate_name.size(), MIN_SITE_RATE);
        return;
    }
    //return sum_tree.getRate()->getRate(0);
    rate_info.push_back(sum_tree.getRate()->getRate(0));

    double *rate_mat = new double[aln.num_states*aln.num_states];
    memset(rate_mat, 0, aln.num_states*aln.num_states*sizeof(double));
    sum_tree.getModel()->getRateMatrix(rate_mat);
    rate_info.insert(rate_info.end(), rate_mat, rate_mat+sum_tree.getModel()->getNumRateEntries());

    if (tree.getModel()->isReversible()) {
        sum_tree.getModel()->getStateFrequency(rate_mat);
        rate_info.insert(rate_info.end(), rate_mat, rate_mat+aln.num_states);
    }
	delete [] rate_mat;
	delete models_block;

    if (report_file) {
        DoubleMatrix tmp(1);
        tmp[0] = rate_info;
        reportNGSAnalysis(report_file, params, sum_aln, sum_tree, tmp, rate_name);
    }
}
Esempio n. 6
0
//--------------------------------------------------------------------------------------------------------------
bool DownloadManager::HasMapBeenDownloadedFromServer( const char *serverMapName )
{
	if ( !serverMapName )
		return false;

	for ( int i=0; i<m_downloadedMaps.Count(); ++i )
	{
		const char *oldServerMapName = m_downloadedMaps[i];
		if ( oldServerMapName && !stricmp( serverMapName, oldServerMapName ) )
		{
			return true;
		}
	}
	return false;
}
Esempio n. 7
0
void reportNGSAnalysis(const char *file_name, Params &params, NGSAlignment &aln, NGSTree &tree,
                       DoubleMatrix &rate_info, StrVector &rate_name) {
    ofstream out(file_name);
    out.setf(ios::fixed,ios::floatfield);

    int i, j, k;


    double *rate_param = new double[aln.num_states * aln.num_states];
    double *rate_matrix = new double[aln.num_states * aln.num_states];

    out << "Input file: " << params.ngs_file << endl;
    out << "Model of evolution: " << tree.getModel()->name << endl << endl;

    out << "Substitution process assuming one homogeneous model among all positions:" << endl;

    out << "Rate parameters: " << endl;

    tree.getModel()->getRateMatrix(rate_param);

    if (tree.getModel()->name == "UNREST") {
        for (i = 0, k=0; i < aln.num_states; i++)
            for (j = 0; j < aln.num_states; j++)
                if (i != j)
                    rate_matrix[i*aln.num_states+j] = rate_param[k++];
    } else {
        for (i = 0, k=0; i < aln.num_states-1; i++)
            for (j = i+1; j < aln.num_states; j++, k++)
                rate_matrix[i*aln.num_states+j] = rate_matrix[j*aln.num_states+i] = rate_param[k];
    }

    for (i = 0; i < aln.num_states; i++) {
        for (j = 0; j < aln.num_states; j++) {
            if (j > 0) out << " \t";
            if (j != i) out << rate_matrix[i*aln.num_states+j];
            else out << "-";
        }
        out << endl;
    }
    out << endl;
    out << "State frequencies: ";
    switch (tree.getModel()->getFreqType()) {
    case FREQ_EMPIRICAL:
        out << "(empirical counts from alignment)" << endl;
        break;
    case FREQ_ESTIMATE:
        out << "(estimated with maximum likelihood)" << endl;
        break;
    case FREQ_USER_DEFINED:
        out << "(user-defined)" << endl;
        break;
    case FREQ_EQUAL:
        out << "(equal frequencies)" << endl;
        break;
    default:
        break;
    }

    double *state_freq = new double[aln.num_states];
    tree.getModel()->getStateFrequency(state_freq);

    for (i = 0; i < aln.num_states; i++) out << state_freq[i] << " \t";
    out << endl << endl;

    out << "Q matrix can be obtained by multiplying rate parameters with state frequencies" << endl << endl;

    double *q_mat = new double[tree.aln->num_states * tree.aln->num_states];
    tree.getModel()->getQMatrix(q_mat);

    for (i = 0, k = 0; i < tree.aln->num_states; i++) {
        for (j = 0; j < tree.aln->num_states; j++, k++)
            out << "  " << q_mat[k];
        out << endl;
    }

    delete [] q_mat;

    out << endl;

    out << "Log-likelihood: " << tree.computeLikelihood() << endl << endl;

    out << "Inferred posisiton-specific rates under one model or position-specific model: " << endl;

    out << "Position\tSeq_error";
    for (StrVector::iterator it = rate_name.begin(); it != rate_name.end(); it++)
        out << "\t" << (*it);
    out << endl;
    for (i = 0; i < aln.ncategory; i++) {
        out << i+1 << '\t' << tree.getRate()->getRate(i);
        DoubleVector *rate_vec = &rate_info[i];
        for (DoubleVector::iterator dit = rate_vec->begin(); dit != rate_vec->end(); dit++)
            out << "\t" << *dit;
        out << endl;
    }
    out.close();
    cout << endl << "Results written to: " << file_name << endl << endl;
    delete [] state_freq;
    delete [] rate_matrix;
    delete [] rate_param;
}
Esempio n. 8
0
void runttgamma(TString sample="all", TString ExtraOpts= "", int workers=8)
{

  //TProof *proof = getProof("lite://",nwrks);
  TString proofOpt(Form("workers=%i",workers));
  //TProof *proof = TProof::Open(proofOpt);
  //if (!proof) {
  //  Printf("runProof: could not start/attach a PROOF session");
  //  return;
  //}

  //proof->SetLogLevel(2); // verbose

  TChain *chain = new TChain("ggNtuplizer/EventTree");
  StrVecMap::iterator ite;//
  bool foundSample = false;
  for ( ite = vsamples.begin(); ite != vsamples.end(); ++ite) {//
    
    std::string name(sample.Data());
    std::string tmpname = (*ite).first;
    if ( name != "all" && name != tmpname ) continue;
    foundSample = true;
    if ( name == "all" ) name = tmpname;
    StrVector location = vsamples[name];
    cout<< "Input sample: "<< name << endl;
    //StrVecMap::iterator ite;
    //for (ite = location.begin(); ite != location.end(); ++ite) {
    for ( size_t i=0; i < location.size(); ++i ) {
    
      //chain->Add(location.c_str());
      chain->Add( location[i].c_str() );
    }
    cout << "List of files:" << endl;
    chain->ls();
    cout << endl;
    //chain->SetProof(); // to run in PROOF mode
    TString opts(Form("sample=%s",name.c_str()));
    if (ExtraOpts != "" ) opts = ExtraOpts + " " + opts;

    ttgamma3 *myselector = new ttgamma3();

    //chain->Process("ttgamma3.C",opts.Data() );
    chain->Process(myselector, opts.Data() );
    cout << "Process: ttgamma.C done" << endl;

  }
  // logs
  
  //TList *logList = proof->GetManager()->GetSessionLogs()->GetListOfLogs();
  //for (int i=1; i< logList->GetSize(); ++i)
  //  {
  //    TProffLogElem *logElem = ( TProofLogElem* ) logList->At( i );
  //    macro = logElem->GetMacro();
  //    macro->SaveSource("data_muons_"+TString(Form("%i",i))+".stdout");
  //  }
  

  //chain->SetProof(0);
  //chain->Delete();
  //delete chain;
  //proof->ClearInput();
  //proof->ClearData();
  //proof->ClearInputData();
  //delete proof;
  if ( foundSample )
    cout << "runttgamma done"<<endl;
  else
    cout << "Error: No sample found with name: " << sample.Data() << endl;
}
Esempio n. 9
0
void InitSamples( TString ExtraOpts= "")  
{

  //TStrStrMap msamples;
  //StrVecMap vsamples;
  StrVector vec;

  // root://cmseos.fnal.gov:1094/
  string xroo_prefix = "root://cmseos.fnal.gov:1094/"; //"root://cmsxrootd-site.fnal.gov/";

  if (! ExtraOpts.Contains("inputskim") )
    {

      string prefixData= xroo_prefix + "/store/user/iraklis/ggNtuples/";
      string prefixMC = xroo_prefix + "/store/user/iraklis/ggNtuples/";

      //sync exercise
      vec.push_back(xroo_prefix + "/store/user/yumiceva/ttgamma/sync/sync.root");
      vsamples.insert(StrVecPair("sync",vec));
      vec.clear();
      //DYJetsToLL
      vec.push_back(xroo_prefix + "/store/user/makouski/job_summer12_DYJetsToLL.root");
      vsamples.insert(StrVecPair("DYJetsToLL",vec));
      vec.clear();
      //Wjets
      vec.push_back(xroo_prefix + "/store/user/makouski/job_summer12_Wjets.root");
      vsamples.insert(StrVecPair("Wjets",vec));
      vec.clear();
      //W3jets
      vec.push_back("/uscmst1b_scratch/lpc1/old_scratch/lpceg/yurii/iraklis/Makouski/CMSSW_5_3_12/src/ggAnalysis/ggNtuplizer/test/W3JetsToLNu_TuneZ2Star_8TeV-madgraph.root");
      vsamples.insert(StrVecPair("W3jets",vec));
      vec.clear();
      //W4jets
      vec.push_back("/uscmst1b_scratch/lpc1/old_scratch/lpceg/yurii/iraklis/Makouski/CMSSW_5_3_12/src/ggAnalysis/ggNtuplizer/test/W4JetsToLNu_TuneZ2Star_8TeV-madgraph.root");
      vsamples.insert(StrVecPair("W4jets",vec));
      vec.clear();
      //WW_2l2nu
      //vec.push_back(prefixMC+"job_summer12_WW_2l2nu.root");
      //vsamples.insert(StrVecPair("WW_2l2nu",vec));
      //vec.clear();
      //WWg
      vec.push_back(prefixMC+"job_summer12_WWg.root");
      vsamples.insert(StrVecPair("WWg",vec));
      vec.clear();
      //WZ_2l2q
      //vec.push_back(prefixMC+"job_summer12_WZ_2l2q.root");
      //vsamples.insert(StrVecPair("WZ_2l2q",vec));
      //vec.clear();
      //WZ_3lnu
      //vec.push_back(prefixMC+"job_summer12_WZ_3lnu.root");
      //vsamples.insert(StrVecPair("WZ_3lnu",vec));
      //vec.clear();
      //Wg
      vec.push_back(prefixMC+"job_summer12_Wg.root");
      vsamples.insert(StrVecPair("Wg",vec));
      vec.clear();
      //Wgg_FSR
      vec.push_back(prefixMC+"job_summer12_Wgg_FSR.root");
      vsamples.insert(StrVecPair("Wgg_FSR",vec));
      vec.clear();
      //ZZ_2e2mu
      //vec.push_back(prefixMC+"job_summer12_ZZ_2e2mu.root");
      //vsamples.insert(StrVecPair("ZZ_2e2mu",vec));
      //vec.clear();
      //ZZ_2e2tau
      //vec.push_back(prefixMC+"job_summer12_ZZ_2e2tau.root");
      //vsamples.insert(StrVecPair("ZZ_2e2tau",vec));
      //vec.clear();
      //ZZ_2mu2tau
      //vec.push_back(prefixMC+"job_summer12_ZZ_2mu2tau.root");
      //vsamples.insert(StrVecPair("ZZ_2mu2tau",vec));
      //vec.clear();
      //ZZ_4e
      //vec.push_back(prefixMC+"job_summer12_ZZ_4e.root");
      //vsamples.insert(StrVecPair("ZZ_4e",vec));
      //vec.clear();
      //ZZ_4mu
      //vec.push_back(prefixMC+"job_summer12_ZZ_4mu.root");
      //vsamples.insert(StrVecPair("ZZ_4mu",vec));
      //vec.clear();
      //ZZ_4tau
      //vec.push_back(prefixMC+"job_summer12_ZZ_4tau.root");
      //vsamples.insert(StrVecPair("ZZ_4tau",vec));
      //vec.clear();
      //Zg
      vec.push_back(prefixMC+"job_summer12_Zg.root");
      vsamples.insert(StrVecPair("Zg",vec));
      vec.clear();
      //diphoton_box_10to25
      vec.push_back(prefixMC+"job_summer12_diphoton_box_10to25.root");
      vsamples.insert(StrVecPair("diphoton_box_10to25",vec));
      vec.clear();
      //diphoton_box_25to250
      vec.push_back(prefixMC+"job_summer12_diphoton_box_25to250.root");
      vsamples.insert(StrVecPair("diphoton_box_25to250",vec));
      vec.clear();
      //diphoton_box_250toInf
      vec.push_back(prefixMC+"job_summer12_diphoton_box_250toInf.root");
      vsamples.insert(StrVecPair("diphoton_box_250toInf",vec));
      vec.clear();
      //t_s
      vec.push_back(prefixMC+"job_summer12_t_s.root");
      vsamples.insert(StrVecPair("t_s",vec));
      vec.clear();
      //t_t
      vec.push_back(prefixMC+"job_summer12_t_t.root");
      vsamples.insert(StrVecPair("t_t",vec));
      vec.clear();
      //t_tW
      vec.push_back(prefixMC+"job_summer12_t_tW.root");
      vsamples.insert(StrVecPair("t_tW",vec));
      vec.clear();
      //tbar_s
      vec.push_back(prefixMC+"job_summer12_tbar_s.root");
      vsamples.insert(StrVecPair("tbar_s",vec));
      vec.clear();
      //tbar_t
      vec.push_back(prefixMC+"job_summer12_tbar_t.root");
      vsamples.insert(StrVecPair("tbar_t",vec));
      vec.clear();
      //tbar_tW
      vec.push_back(prefixMC+"job_summer12_tbar_tW.root");
      vsamples.insert(StrVecPair("tbar_tW",vec));
      vec.clear();
      //ttW
      vec.push_back(prefixMC+"job_summer12_ttW.root");
      vsamples.insert(StrVecPair("ttW",vec));
      vec.clear();
      //ttZ
      vec.push_back(prefixMC+"job_summer12_ttZ.root");
      vsamples.insert(StrVecPair("ttZ",vec));
      vec.clear();
      //ttg
      vec.push_back(prefixMC+"job_summer12_ttg.root");
      vsamples.insert(StrVecPair("ttg",vec));
      vec.clear();
      //ttgWhizard
      vec.push_back("/uscmst1b_scratch/lpc1/old_scratch/lpceg/yurii/EnSc/misha/job_summer12_whizard_2to5_ttA.root");
      vsamples.insert(StrVecPair("ttgWhizard",vec));
      vec.clear();
      //ttjets
      //vec.push_back(prefixMC+"job_summer12_ttinclusive.root");
      //vsamples.insert(StrVecPair("ttjets",vec));
      //vec.clear();
      //ttjets_1l
      vec.push_back(prefixMC+"job_summer12_ttjets_1l.root");
      vsamples.insert(StrVecPair("ttjets_1l",vec));
      vec.clear();
      //ttjets_2l
      vec.push_back(xroo_prefix + "/store/user/makouski/job_summer12_ttjets_2l.root");
      vsamples.insert(StrVecPair("ttjets_2l",vec));
      vec.clear();
      //ttjets_0l
      vec.push_back(xroo_prefix + "/store/user/troy2012/GG_MC_12/TTJets_Hadronic/TTJets_hadronic.root");
      vsamples.insert(StrVecPair("ttjets_0l",vec));
      vec.clear();
      
      //DATA
      // electrons
      vec.push_back(prefixData+"job_electron_2012a_Jan22rereco.root");
      vsamples.insert(StrVecPair("data_ele_a",vec));
      vec.clear();
      vec.push_back(prefixData+"job_electron_2012b_Jan22rereco.root");
      vsamples.insert(StrVecPair("data_ele_b",vec));
      vec.clear();
      vec.push_back(prefixData+"job_electron_2012c_Jan2012rereco.root");
      vsamples.insert(StrVecPair("data_ele_c",vec));
      vec.clear();
      vec.push_back("/uscmst1b_scratch/lpc1/old_scratch/lpceg/yurii/iraklis/Makouski/CMSSW_5_3_12/src/ggAnalysis/ggNtuplizer/test/job_electron_2012d.root");
      vsamples.insert(StrVecPair("data_ele_d",vec));
      vec.clear();
      // muons
      vec.push_back(prefixData+"job_muon_2012a_Jan22rereco.root");
      vsamples.insert(StrVecPair("data_mu_a",vec));
      vec.clear();
      vec.push_back(xroo_prefix + "/store/user/troy2012/TTGamma/job_muon_2012b_Jan22rereco.root");
      vsamples.insert(StrVecPair("data_mu_b",vec));
      vec.clear();
      vec.push_back(prefixData+"job_muon_2012c_Jan22rereco.root");
      vsamples.insert(StrVecPair("data_mu_c",vec));
      vec.clear();
      vec.push_back(xroo_prefix + "/store/user/troy2012/TTGamma/job_muon_2012d_Jan22rereco.root");
      vsamples.insert(StrVecPair("data_mu_d",vec));
      vec.clear();
      
    }
  else
    {
      // SKIMS
      string prefixSkim = xroo_prefix + "/store/user/yumiceva/ttgamma/skim/v0/electron/";
      if ( ExtraOpts.Contains("muon") ) 
        prefixSkim = xroo_prefix + "/store/user/yumiceva/ttgamma/skim/v2/muon/";

      //DYJetsToLL
      vec.push_back(prefixSkim+"skim_DYJetsToLL.root");
      vsamples.insert(StrVecPair("DYJetsToLL",vec));
      vec.clear();
      //Wjets
      vec.push_back(prefixSkim+"skim_Wjets.root");
      vsamples.insert(StrVecPair("Wjets",vec));
      vec.clear();
      //W3jets
      vec.push_back(prefixSkim+"skim_W3jets.root");
      vsamples.insert(StrVecPair("W3jets",vec));
      vec.clear();
      //W4jets
      vec.push_back(prefixSkim+"skim_W4jets.root");
      vsamples.insert(StrVecPair("W4jets",vec));
      vec.clear();
      //WW_2l2nu
      //vec.push_back(prefixSkim+"skim_WW_2l2nu.root");
      //vsamples.insert(StrVecPair("WW_2l2nu",vec));
      //vec.clear();
      //WWg
      vec.push_back(prefixSkim+"skim_WWg.root");
      vsamples.insert(StrVecPair("WWg",vec));
      vec.clear();
      //WZ_2l2q
      //vec.push_back(prefixSkim+"skim_WZ_2l2q.root");
      //vsamples.insert(StrVecPair("WZ_2l2q",vec));
      //vec.clear();
      //WZ_3lnu
      //vec.push_back(prefixSkim+"skim_WZ_3lnu.root");
      //vsamples.insert(StrVecPair("WZ_3lnu",vec));
      //vec.clear();
      //Wg
      vec.push_back(prefixSkim+"skim_Wg.root");
      vsamples.insert(StrVecPair("Wg",vec));
      vec.clear();
      //Wgg_FSR
      vec.push_back(prefixSkim+"skim_Wgg_FSR.root");
      vsamples.insert(StrVecPair("Wgg_FSR",vec));
      vec.clear();
      //ZZ_2e2mu
      //vec.push_back(prefixSkim+"skim_ZZ_2e2mu.root");
      //vsamples.insert(StrVecPair("ZZ_2e2mu",vec));
      //vec.clear();
      //ZZ_2e2tau
      //vec.push_back(prefixSkim+"skim_ZZ_2e2tau.root");
      //vsamples.insert(StrVecPair("ZZ_2e2tau",vec));
      //vec.clear();
      //ZZ_2mu2tau
      //vec.push_back(prefixSkim+"skim_ZZ_2mu2tau.root");
      //vsamples.insert(StrVecPair("ZZ_2mu2tau",vec));
      //vec.clear();
      //ZZ_4e
      //vec.push_back(prefixSkim+"skim_ZZ_4e.root");
      //vsamples.insert(StrVecPair("ZZ_4e",vec));
      //vec.clear();
      //ZZ_4mu
      //vec.push_back(prefixSkim+"skim_ZZ_4mu.root");
      //vsamples.insert(StrVecPair("ZZ_4mu",vec));
      //vec.clear();
      //ZZ_4tau
      //vec.push_back(prefixSkim+"skim_ZZ_4tau.root");
      //vsamples.insert(StrVecPair("ZZ_4tau",vec));
      //vec.clear();
      //Zg
      vec.push_back(prefixSkim+"skim_Zg.root");
      vsamples.insert(StrVecPair("Zg",vec));
      vec.clear();
      //diphoton_box_10to25
      vec.push_back(prefixSkim+"skim_diphoton_box_10to25.root");
      vsamples.insert(StrVecPair("diphoton_box_10to25",vec));
      vec.clear();
      //diphoton_box_25to250
      vec.push_back(prefixSkim+"skim_diphoton_box_25to250.root");
      vsamples.insert(StrVecPair("diphoton_box_25to250",vec));
      vec.clear();
      //diphoton_box_250toInf
      vec.push_back(prefixSkim+"skim_diphoton_box_250toInf.root");
      vsamples.insert(StrVecPair("diphoton_box_250toInf",vec));
      vec.clear();
      //t_s
      vec.push_back(prefixSkim+"skim_t_s.root");
      vsamples.insert(StrVecPair("t_s",vec));
      vec.clear();
      //t_t
      vec.push_back(prefixSkim+"skim_t_t.root");
      vsamples.insert(StrVecPair("t_t",vec));
      vec.clear();
      //t_tW
      vec.push_back(prefixSkim+"skim_t_tW.root");
      vsamples.insert(StrVecPair("t_tW",vec));
      vec.clear();
      //tbar_s
      vec.push_back(prefixSkim+"skim_tbar_s.root");
      vsamples.insert(StrVecPair("tbar_s",vec));
      vec.clear();
      //tbar_t
      vec.push_back(prefixSkim+"skim_tbar_t.root");
      vsamples.insert(StrVecPair("tbar_t",vec));
      vec.clear();
      //tbar_tW
      vec.push_back(prefixSkim+"skim_tbar_tW.root");
      vsamples.insert(StrVecPair("tbar_tW",vec));
      vec.clear();
      //ttW
      vec.push_back(prefixSkim+"skim_ttW.root");
      vsamples.insert(StrVecPair("ttW",vec));
      vec.clear();
      //ttZ
      vec.push_back(prefixSkim+"skim_ttZ.root");
      vsamples.insert(StrVecPair("ttZ",vec));
      vec.clear();
      //ttg
      vec.push_back(prefixSkim+"skim_ttg.root");
      vsamples.insert(StrVecPair("ttg",vec));
      vec.clear();
      //ttgWhizard
      vec.push_back(prefixSkim+"skim_ttgWhizard.root");
      vsamples.insert(StrVecPair("ttgWhizard",vec));
      vec.clear();
      //ttjets_1l
      vec.push_back(prefixSkim+"skim_ttjets_1l.root");
      vsamples.insert(StrVecPair("ttjets_1l",vec));
      vec.clear();

      vec.push_back(prefixSkim+"skim_ttjets_1l_a.root");
      vsamples.insert(StrVecPair("ttjets_1l_a",vec));
      vec.clear();

      vec.push_back(prefixSkim+"skim_ttjets_1l_b.root");
      vsamples.insert(StrVecPair("ttjets_1l_b",vec));
      vec.clear();

      //ttjets_2l
      vec.push_back(prefixSkim+"skim_ttjets_2l.root");
      vsamples.insert(StrVecPair("ttjets_2l",vec));
      vec.clear();
      //ttjets_0l
      vec.push_back(prefixSkim+"skim_ttjets_0l.root");
      vsamples.insert(StrVecPair("ttjets_0l",vec));
      vec.clear();
      //DATA
      if ( ExtraOpts.Contains("muon") )
        vec.push_back(prefixSkim+"skim_data_mu_all.root");
      else
        vec.push_back(prefixSkim+"skim_data_ele_all.root");
      vsamples.insert(StrVecPair("data",vec));
      vec.clear();
      
      vec.push_back(prefixSkim+"skim_data_mu_a.root");
      vsamples.insert(StrVecPair("data_mu_a",vec));
      vec.clear();

      vec.push_back(prefixSkim+"skim_data_mu_b.root");
      vsamples.insert(StrVecPair("data_mu_b",vec));
      vec.clear();

      vec.push_back(prefixSkim+"skim_data_mu_c.root");
      vsamples.insert(StrVecPair("data_mu_c",vec));
      vec.clear();

      vec.push_back(prefixSkim+"skim_data_mu_d.root");
      vsamples.insert(StrVecPair("data_mu_d",vec));
      vec.clear();

    }
}