]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - GRP/UpdateCDBVertexDiamond.C
recMC.C submitMC.sh
[u/mrichter/AliRoot.git] / GRP / UpdateCDBVertexDiamond.C
index 9f78b9c34b989e87b56b17bcd3001d2ebd21f401..28035a83f8bb2e2301e841531b2fbda26d7abda1 100644 (file)
@@ -1,41 +1,44 @@
-void UpdateCDBVertexDiamond(Double_t xmed = 0., Double_t ymed = 0., Double_t sigx = 0.005, Double_t sigy = 0.005, Double_t sigz = 5.3) {
-  // produce the trigger descriptorwith the current AliRoot and store it in the
+#include "ARVersion.h"
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include "AliCDBManager.h"
+#include "AliCDBStorage.h"
+#include "AliCDBId.h"
+#include "AliCDBMetaData.h"
+#include "AliESDVertex.h"
+#include <TROOT.h>
+#include "AliRun.h"
+#include <TString.h>
+#include "AliLog.h"
+#endif
+
+void UpdateCDBVertexDiamond(Double_t xmed = 0., Double_t ymed = 0., Double_t sigx = 0.0060, Double_t sigy = 0.0060, Double_t sigz = 3.8) {
+  // produce the mean vertex with the current AliRoot and store it in the
   // CDB
   
   AliCDBManager* man = AliCDBManager::Instance();
-  man->SetDefaultStorage("local://$ALICE_ROOT");
+  man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
   man->SetRun(0);
   AliCDBId id("GRP/Calib/MeanVertex",0,AliCDBRunRange::Infinity());
+  AliCDBId idTPC("GRP/Calib/MeanVertexTPC",0,AliCDBRunRange::Infinity());
+  AliCDBId idSPD("GRP/Calib/MeanVertexSPD",0,AliCDBRunRange::Infinity());
   AliCDBMetaData *metadata= new AliCDBMetaData();
 
-  // Get root version
+  // Get root and AliRoot versions
   const char* rootv = gROOT->GetVersion();
+  TString av(ALIROOT_SVN_BRANCH);
+  Int_t revnum = ALIROOT_SVN_REVISION;
+
+  metadata->SetResponsible("prino@to.infn.it");
+  metadata->SetComment("Default mean vertex position");
+  metadata->SetAliRootVersion(av.Data());
+  metadata->SetComment(Form("Default mean vertex produced with root version %s and AliRoot %s, revision number %d",rootv,av.Data(),revnum));
+  
+
+  Printf(Form("Storing in CDB the default mean vertex produced with root version %s and"
+                         "AliRoot version %s, revision number %d", rootv, av.Data(), revnum));
 
-  // Get AliRoot version from file to set it in the metadata of the entry
-  TFile *fv= TFile::Open("$ALICE_ROOT/CVS/Repository?filetype=raw","READ");
-  Int_t size = fv->GetSize();
-  char *buf = new Char_t[size];
-  memset(buf, '\0', size);
-  fv->Seek(0);
-  char* alirootv;
-  if ( fv->ReadBuffer(buf, size) ) {
-    Printf("Error reading AliRoot version from file to buffer!");
-    alirootv = "";
-  }
-  if(buf=="AliRoot"){
-    alirootv="HEAD";
-  }else{
-    alirootv = buf;
-    metadata->SetResponsible("prino@to.infn.it");
-    metadata->SetComment("Default mean vertex position");
-    metadata->SetAliRootVersion(alirootv);
-    metadata->SetComment(Form("Default trigger description produced with root version %s and AliRoot version %s",rootv,alirootv));
-  }
-
-  Printf("Storing in CDB the default trigger description produced with root version %s and AliRoot version %s",rootv,alirootv);
-
-  Double_t resolx=35./10000.;
-  Double_t resoly=35./10000.;
+  Double_t resolx=5./10000.; // this is error on the weighted mean (5 micron) 
+  Double_t resoly=5./10000.; // this is error on the weighted mean (5 micron)
   Double_t sigma[3],position[3];
   position[0]=xmed;
   position[1]=ymed;
@@ -48,5 +51,34 @@ void UpdateCDBVertexDiamond(Double_t xmed = 0., Double_t ymed = 0., Double_t sig
   vertex->PrintStatus();
 
   man->Put(vertex,id,metadata);
+
+  position[0]=xmed;
+  position[1]=ymed;
+  position[2]=0.;
+  sigma[0]=TMath::Sqrt(sigx*sigx+resolx*resolx);
+  sigma[1]=TMath::Sqrt(sigy*sigy+resoly*resoly);
+  sigma[2]=sigz;
+
+  AliESDVertex *vertexTPC = new AliESDVertex(position,sigma,"vtxmean");
+  vertexTPC->PrintStatus();
+
+  man->Put(vertexTPC,idTPC,metadata);
+
+  position[0]=xmed;
+  position[1]=ymed;
+  position[2]=0.;
+  sigma[0]=TMath::Sqrt(sigx*sigx+resolx*resolx);
+  sigma[1]=TMath::Sqrt(sigy*sigy+resoly*resoly);
+  sigma[2]=sigz;
+
+  AliESDVertex *vertexSPD = new AliESDVertex(position,sigma,"vtxmean");
+  vertexSPD->PrintStatus();
+
+  man->Put(vertexSPD,idSPD,metadata);
+
+
+
 }
 
+
+