Пример #1
0
void recqa()
{
	const char * kYear = "08" ; 
 	gEnv->SetValue("Root.Stacktrace","no");
	gEnv->SetValue("Root.Stacktrace","no");
	AliCDBManager * man = AliCDBManager::Instance();
	//man->SetDefaultStorage("alien://Folder=/alice/data/2008/LHC08d/OCDB/") ; 
	man->SetDefaultStorage("local://$ALIROOT_OCDB_ROOT/OCDB");
  man.SetSpecificStorage("GRP/GRP/Data",Form("local://%s",gSystem->pwd()));
	TString detectors("ITS TPC TRD TOF PHOS HMPID EMCAL/*MUON*/ FMD ZDC PMD T0 VZERO");
	
	//AliQA::SetQARefStorage(Form("%s%s/", AliQA::GetQARefDefaultStorage(), kYear)) ;
	AliQA::SetQARefStorage("local://$ALIROOT_OCDB_ROOT/OCDB") ;
	//AliQA::SetQARefDataDirName(AliQA::kMONTECARLO) ; //RUN_TYPE
   
  AliQADataMamanager qas("rec") ; 
  qas.Run(detectors.Data(), AliQA::kRECPOINTS);
}
Пример #2
0
void Strand2dFCBlockSolver::rhsSource(const int& j)
{
  // gradients of qa in n-direction and s-direction
  int j1,nj,nm;
  double dnr=1./deltaN;
  Array2D<double> qan(nSurfNode,nqa);
  Array3D<double> qas(nSurfElem,meshOrder+1,nqa);
  Array3D<double> ss(nSurfElem,meshOrder+1,nq);
  qan.set(0.);
  for (int n=0; n<nSurfNode; n++){
    j1 = icn2[j][0];
    nj = icn2[j][1];
    for (int m=0; m<nj; m++){
      for (int k=0; k<nqa; k++)
	qan(n,k) += dnr*icn1[j][m]*qa(n,j1,k);
      j1++;
    }}
  qas.set(0.);
  for (int n=0; n<nSurfElem; n++)
    for (int i=0; i<meshOrder+1; i++) // ith point in the element
      for (int m=0; m<meshOrder+1; m++){ // mth Lagrange poly. in mapping
	nm = surfElem(n,m);
	for (int k=0; k<nqa; k++)
	  qas(n,i,k) += ls(i,m)*qa(nm,j,k);
      }


  // source computation
  int ni;
  double jac1,xs1,ys1,xn1,yn1,qax[nqa],qay[nqa],f[nq];
  for (int n=0; n<nSurfElem; n++)
    for (int i=0; i<meshOrder+1; i++){
      ni   = surfElem(n,i);
      jac1 = 1./jac(n,i,j);
      xs1  = xs(n,i,j)*jac1;
      ys1  = ys(n,i,j)*jac1;
      xn1  = xn(ni,j)*jac1;
      yn1  = yn(ni,j)*jac1;
      for (int k=0; k<nqa; k++){
	qax[k] = yn1*qas(n,i,k)-ys1*qan(ni,k);
	qay[k] =-xn1*qas(n,i,k)+xs1*qan(ni,k);
      }
      sys->rhsSource(1,&q(ni,j,0),&qa(ni,j,0),&qax[0],&qay[0],&f[0]);
      for (int k=0; k<nq; k++) ss(n,i,k) =-f[k]/jac1;
    }


  // source treatment
  int ne;
  double ns;
  for (int n=0; n<nSurfNode; n++)
    for (int i=psp2S(n); i<psp2S(n+1); i++){
      ne = psp1S(i,0);
      ni = psp1S(i,1);
      ns = wsp1S(i);
      for (int k=0; k<nq; k++) r(n,j,k) += ns*ss(ne,ni,k);
    }


  // clean up
  qan.deallocate();
  qas.deallocate();
  ss.deallocate();
}