コード例 #1
0
ファイル: map.cpp プロジェクト: FlavioFalcao/mapbox-gl-native
bool is_invisible(const Styles &styles, const LayerDescription &layer_desc) {
    auto it = find_style(styles, layer_desc);
    if (it == styles.end()) {
        // We don't have a style, so we fall back to the default style which is
        // always visible.
        return false;
    }
    return !it->second.isVisible();
}
コード例 #2
0
ファイル: map.cpp プロジェクト: FlavioFalcao/mapbox-gl-native
typename Styles::const_iterator find_style(const Styles &styles, const LayerDescription &layer_desc) {
    auto it = styles.find(layer_desc.name);
#if defined(DEBUG)
    if (it == styles.end()) {
        if (debug::renderWarnings) {
            fprintf(stderr, "[WARNING] can't find class named '%s' in style\n",
                    layer_desc.name.c_str());
        }
    }
#endif
    return it;
}
コード例 #3
0
ファイル: plot.cpp プロジェクト: skhal/bsm_mc
string style(TH1 *h, const string &filename)
{
    typedef shared_ptr<regex> RegexPtr;
    typedef pair<string, RegexPtr> Pattern;
    typedef map<int, Pattern> Styles;

    Styles styles;

    styles[kAzure  - 9 ] = Pattern("Zprime M: 500 GeV w: 50 GeVc", RegexPtr(new regex(".*zprime_m500gev_w50gev-madgraph.*")));
    styles[kAzure  - 8 ] = Pattern("Zprime M: 500 GeV w: 5 GeVc", RegexPtr(new regex(".*zprime_m500gev_w5gev-madgraph.*")));
    styles[kAzure  + 0 ] = Pattern("Zprime M: 750 GeV w: 7.50 GeVc", RegexPtr(new regex(".*zprime_m750gev_w7500mev-madgraph.*")));
    styles[kBlue   - 7 ]  = Pattern("Zprime M: 1000 GeV w: 100 GeVc", RegexPtr(new regex(".*zprime_m1000gev_w100gev-madgraph.*")));
    styles[kBlue   - 10] = Pattern("Zprime M: 1000 GeV w: 10 GeVc", RegexPtr(new regex(".*zprime_m1000gev_w10gev-madgraph.*")));
    styles[kViolet     ] = Pattern("Zprime M: 1250 GeV w: 1.25 GeVc", RegexPtr(new regex(".*zprime_m1250gev_w1250mev-madgraph.*")));
    styles[kPink   + 10] = Pattern("Zprime M: 1500 GeV w: 150 GeVc", RegexPtr(new regex(".*zprime_m1500gev_w150gev-madgraph.*")));
    styles[kPink   + 8 ] = Pattern("Zprime M: 1500 GeV w: 15 GeVc", RegexPtr(new regex(".*zprime_m1500gev_w15gev-madgraph.*")));
    styles[kRed    + 0 ] = Pattern("Zprime M: 2000 GeV w: 200 GeVc", RegexPtr(new regex(".*zprime_m2000gev_w200gev-madgraph.*")));
    styles[kRed    - 9 ] = Pattern("Zprime M: 2000 GeV w: 20 GeVc", RegexPtr(new regex(".*zprime_m2000gev_w20gev-madgraph.*")));
    styles[kOrange + 9 ] = Pattern("Zprime M: 3000 GeV w: 300 GeVc", RegexPtr(new regex(".*zprime_m3000gev_w300gev-madgraph.*")));
    styles[kOrange + 7 ] = Pattern("Zprime M: 3000 GeV w: 30 GeVc", RegexPtr(new regex(".*zprime_m3000gev_w30gev-madgraph.*")));
    styles[kGreen  + 1 ] = Pattern("Zprime M: 4000 GeV w: 400 GeVc", RegexPtr(new regex(".*zprime_m4000gev_w400gev-madgraph.*")));
    styles[kGreen  - 6 ] = Pattern("Zprime M: 4000 GeV w: 40 GeVc", RegexPtr(new regex(".*zprime_m4000gev_w40gev-madgraph.*")));

    h->SetLineWidth(2);

    typedef map<string, string> Titles;

    Titles titles;

    titles["zprime_pt"] = "P_{T,Z'} [GeV/c]";
    titles["zprime_eta"] = "#{eta}_{Z'}";
    titles["zprime_phi"] = "#{phi}_{Z'}";
    titles["top_pt"] = "P_{T,t} [GeV/c]";
    titles["top_eta"] = "#{eta}_{t}";
    titles["top_phi"] = "#{phi}_{t}";
    titles["atop_pt"] = "P_{T,#bar{t}} [GeV/c]";
    titles["atop_eta"] = "#{eta}_{#bar{t}}";
    titles["atop_phi"] = "#{phi}_{#bar{t}}";
    titles["ttbar_dr"] = "#DeltaR(t,#bar{t})";
    titles["mtt"] = "M_{t,#bar{t}}";
    titles["top_hadronic_dr"] = "#DeltaR(W#rightarrowjj,b)";
    titles["top_leptonic_dr"] = "#DeltaR(W#rightarrowl#nu,b)";
    titles["wjj_dr"] = "#DeltaR(j,j)_{W#rightarrowjj}";
    titles["wlnu_dr"] = "#DeltaR(l,b)_{W#rightarrowl#nu}";
    
    boost::smatch matches;
    for(Styles::const_iterator style = styles.begin();
            styles.end() != style;
            ++style)
    {
        if (!regex_match(filename, matches, *style->second.second))
            continue;

        h->SetLineColor(style->first);
        h->SetMarkerColor(style->first);

        for(Titles::const_iterator title = titles.begin();
                titles.end() != title;
                ++title)
        {
            if (title->first == h->GetName())
            {
                h->GetXaxis()->SetTitle(title->second.c_str());

                break;
            }
        }

        return style->second.first;
    }

    return "unknown";
}