コード例 #1
0
ファイル: TrLikeDB.C プロジェクト: krafczyk/AMS
bool TrLikeDB::LoadPdfVer0(char* dirname) { 
  TFile* file = TFile::Open(Form("%s/v5.00/TrLikeDBver0/PDFDBv2.root",dirname),"read");
  if (!file) return false;
  int index = 0;
  int irig = 1;
  TH1* pdf = 0;
  fZmax = 28;
  for (int Z=1; Z<=fZmax; Z++) {
    for (int icat=0; icat<2; icat++) { 
      // 2D Xi_{X} vs Xi_{Y}
      index = CreateIndex(0,Z,icat,0,irig); 
      pdf = (TH1*) file->Get(Form("hLogXi2D_Z%d_Rig%d_Cat%d",Z,irig,icat+1));
      if (!pdf) {
        printf("TrLikeDB::LoadPdfVer0-E error in loading PDFs (hLogXi2D_Z%d_Rig%d_Cat%d). Tracker integer charge could have some problem!\n",Z,irig,icat+1);
        file->Close();
        break;
      } 
      pdf->SetDirectory(0);
      AddPdf(pdf,index);
      for (int iside=0; iside<2; iside++) { 
        // 1D Xi
        index = CreateIndex(1,Z,icat,iside,irig);   
        pdf = (TH1*) file->Get(Form("hLogXi1D_Z%d_Rig%d_Cat%d_Side%d",Z,irig,icat+1,iside));
        if (!pdf) {
          printf("TrLikeDB::LoadPdfVer0-E error in loading PDFs (hLogXi1D_Z%d_Rig%d_Cat%d_Side%d). Tracker integer charge could have some problem!\n",Z,irig,icat+1,iside);
          file->Close();
          break;
        }
        pdf->SetDirectory(0);
        AddPdf(pdf,index);
        // 1D Eta
        index = CreateIndex(2,Z,icat,iside,irig);
        pdf = (TH1*) file->Get(Form("hLogEtaS1D_Z%d_Rig%d_Cat%d_Side%d",Z,irig,icat+1,iside));
        if (!pdf) {
          printf("TrLikeDB::LoadPdfVer0-E error in loading PDFs (hLogEtaS1D_Z%d_Rig%d_Cat%d_Side%d). Tracker integer charge could have some problem!\n",Z,irig,icat+1,irig);
          file->Close();
          break;
        }
        pdf->SetDirectory(0);
        AddPdf(pdf,index);
      }   
    }
  }
  // create missing pdf here if needed ... not for now 
  file->Close();
  return true;
}
コード例 #2
0
ファイル: PdfManager.cpp プロジェクト: mjmottram/oxsx
void
PdfManager::AddPdfs(const std::vector<Pdf*>& pdfs_){
    for(size_t i = 0; i < pdfs_.size(); i++)
        AddPdf(pdfs_.at(i));
}