Esempio n. 1
0
void MakeSpinPlots::runAll(){
    if(!isSetup) setupDir();
    std::cout << "runAll" << std::endl;
    std::vector<TString>::const_iterator mcIt = mcNames.begin();
    for(; mcIt != mcNames.end(); mcIt++){
        if( TString(ws->data( Form("%s_Combined",mcIt->Data()) )->GetTitle()).CompareTo("type1") != 0 ) continue;
        runAll(*mcIt);
    }
}
Esempio n. 2
0
void MakeSpinPlots::runAll(TString mcName){
    if(!isSetup) setupDir();
    if(ws->var(Form("Data_%s_FULLFIT_Nsig",mcName.Data()))==0) return;
    
    std::vector<TString>::const_iterator catIt = catNames.begin();
    for(; catIt != catNames.end(); catIt++){
        runAll(*catIt,mcName);
    }
    
    DrawSpinSubTotBackground(mcName,false);
    DrawSpinSubTotBackground(mcName,true);
}
Esempio n. 3
0
void MakeSpinPlots::runAll(TString tag, TString mcName){
    if(!isSetup) setupDir();
    getFitValues(tag,mcName);
    DrawBlindFit(tag,mcName);
    DrawFit(tag,mcName);
    DrawIndFit(tag,mcName);
    PlotSignalFits(tag,mcName);
    for(std::vector<TString>::const_iterator csBinIt = cosThetaBins.begin();
        csBinIt != cosThetaBins.end(); csBinIt++){
        TString tmp = tag+"_"+*csBinIt;
        double sigEff = ws->var(Form("%s_FIT_%s_sigmaEff",mcName.Data(),tmp.Data()))->getVal();
        fitSigEff[tPair(mcName,tmp)]    = dPair(sigEff,0);
        PlotSignalFits(tag,mcName,*csBinIt);    
        DrawBlindFit(tag,mcName,*csBinIt);
        DrawFit(tag,mcName,*csBinIt);
    }
    DrawSpinBackground(tag,mcName,false);
    DrawSpinBackground(tag,mcName,true);
    DrawSpinSubBackground(tag,mcName,false);
    DrawSpinSubBackground(tag,mcName,true);
}
Esempio n. 4
0
int
main (int argc, char* argv[])
{
    ssize_t     len;
    size_t      l;
    time_t      t;
    struct tm*  ptm;
    bdir        dst, src;
    int         est;            /* exit status */
    char*       file;
    char*       p;


    if (!IsDebug && getuid() != ROOT_UID) {
        fprintf(stderr, "must be root\n");
        exit(1);
    }

    if (argc < 3) {
        usage();
    }

    if (*argv[1]  != '/') goto errorExit;  /*  must be full path */
    if (*argv[2]  != '/') goto errorExit;  /*  must be full path */

    setupDir(&src, argv[1]);
    dst.len  = strlen(argv[2]);
    dst.mlen = (dst.len + 2 > MAXCHARS) ? 2*dst.len : MAXCHARS;
    dst.dir  = malloc(dst.mlen);
    if (!dst.dir) {
        free(src.dir);
        errSysExit(("malloc(%d)", dst.mlen));
    }
    strcpy(dst.dir, argv[2]);
    if (dst.dir[dst.len-1] == '/') {
        dst.dir[dst.len] = '\0';
    }
    dst.dend = dst.dir + dst.len;
    dst.date = dst.dend - strlen(BKUP_DIR) - 1;

    file = malloc(MAXCHARS);
    if (!file) {
        free(dst.dir);
        free(src.dir);
        errSysExit(("malloc(%d)", MAXCHARS));
    }

    /* Read last backup time
     */
    len = getline(&file, &l, stdin);
    if (len < 0) {
        /* No Last backup, which means first time backup.
           Just do exit(0).
         */
        free(dst.dir);
        free(src.dir);
        free(file);
        exit(0);
    }
    t = strtol(file, NULL, 16);
    ptm = localtime(&t);
    if (!ptm) {
        free(dst.dir);
        free(src.dir);
        free(file);
        errExit(("localtime(0x%08x) failed", t));
    }

    /* src.dir: last backup directory
     */
    sprintf(src.date, "%04d/%02d/%02d",
                         ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday);

    for (;;) {
        len = getdelim(&file, &l, '\0', stdin); /* get file name */
        if (len < 0) {
            est = feof(stdin) ? 0 : 1;
            free(dst.dir);
            free(src.dir);
            free(file);
            exit(est);
        }
        if (src.len + len > src.mlen) { /* not enough memory for src.dir */
            l = src.len + len + 1;
            p = realloc(src.dir, l);
            if (p) {
                src.dir  = p;
                src.mlen = l;
            } else {
                errSysRet(("realloc(%d)", src.mlen));
                continue;
            }
        }
        if (dst.len + len > dst.mlen) { /* not enough memory for src.dir */
            l = dst.len + len + 1;
            p = realloc(dst.dir, l);
            if (p) {
                dst.dir  = p;
                dst.mlen = l;
            } else {
                errSysRet(("realloc(%d)", src.mlen));
                continue;
            }
        }
        strcat(src.dir, file);
        strcat(dst.dir, file);

        if (IsDebug) {
            printf("%s %s\n", src.dir, dst.dir);
        } else {
            if (link(src.dir, dst.dir)) {
                errSysRet(("link(%s, %s)", src.dir, dst.dir));
            }
        }
        *dst.dend = '\0';
        *src.dend = '\0';
    }
    exit(0);

errorExit:
    fprintf(stderr,
            "Source and Destination directories must be full path\n");
    exit(1);
}