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); } }
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); }
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); }
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); }