]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/ITSSPDVertexDiamondda.cxx
New AliPoissonCalculator class
[u/mrichter/AliRoot.git] / ITS / ITSSPDVertexDiamondda.cxx
index 34a72707f79ea84ccf74829064cd1e6868098a33..c8dadd2c4b5704b90a3354edfb0a4a01b76a4328 100644 (file)
@@ -1,13 +1,13 @@
 /*
 Contact: cvetan.cheshkov@cern.ch
-Link: /afs/cern.ch/user/c/cheshkov/public/08000058338016.30.root.date.gz
+Link: http://alisoft.cern.ch/viewvc/trunk/ITS/ITSSPDVertexDiamondda.cxx?root=AliRoot&view=log , /afs/cern.ch/user/c/cheshkov/public/ITS/VD_da_test.date , /afs/cern.ch/user/c/cheshkov/public/08000058338016.30.root.date.gz
 Reference Run: 58338
 Run Type: PHYSICS
 DA Type: MON
-Number of events needed: 1000
-Input Files: GRP/Geometry/Data , ITS/Align/Data , spd_noisy_ocdb , spd_dead_ocdb
+Number of events needed: 100
+Input Files: GRP/Geometry/Data , ITS/Align/Data , spd_noisy_ocdb , spd_dead_ocdb , TRIGGER/SPD/PITConditions (all the files are taken from SPD daqDetDB)
 Output Files: SPDVertexDiamondDA.root
-Trigger types used: PHYSICS
+Trigger types used: PHYSICS, SPD-F0 
 */
 
 #define OUTPUT_FILE "SPDVertexDiamondDA.root"
@@ -30,7 +30,10 @@ extern "C" {
 #include <TH1.h>
 #include <TH2.h>
 #include <TSystem.h>
+#include <TGeoGlobalMagField.h>
 
+#include "AliLog.h"
+#include "AliMagF.h"
 #include "AliRawReaderDate.h"
 #include "AliCDBManager.h"
 #include "AliITSMeanVertexer.h"
@@ -134,7 +137,30 @@ int main(int argc, char **argv) {
     return -1;
   }
 
+  if (gSystem->AccessPathName("localOCDB/TRIGGER/SPD/PITConditions",kFileExists)) {
+    if (gSystem->mkdir("localOCDB/TRIGGER/SPD/PITConditions",kTRUE) != 0) {
+      printf("Failed to create directory: localOCDB/TRIGGER/SPD/PITConditions");
+      return -1;
+    }
+  }
+  status = daqDA_DB_getFile("TRIGGER/SPD/PITConditions","localOCDB/TRIGGER/SPD/PITConditions/Run0_999999999_v0_s0.root");
+  if (status) {
+    printf("Failed to get spd trigger file (TRIGGER/SPD/PITConditions) from DAQdetDB, status=%d\n", status);
+    return -1;
+  }
+ status = daqDA_DB_getFile("mfchebKGI_sym.root","localOCDB/mfchebKGI_sym.root");
+  if (status) {
+    printf("Failed to get spd file (mfchebKGI_sym.root) from DAQdetDB, status=%d\n", status);
+    return -1;
+  }
+
   // Global initializations
+
+  // The B filed is required in AliITSClusterFinderV2SPD
+  // for the Lorentz angle correction. B set to 0.      
+  TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 0., 0., AliMagF::k5kGUniform,AliMagF::kBeamTypeAA,-1,2,15,"localOCDB/mfchebKGI_sym.root"));  
+  AliLog::SetGlobalLogLevel(AliLog::kError);
   AliCDBManager *man = AliCDBManager::Instance();
   man->SetDefaultStorage("local://localOCDB");
   man->SetRun(runNr);
@@ -195,6 +221,9 @@ int main(int argc, char **argv) {
 
       // Auto save
       if ((nevents_physics%N_EVENTS_AUTOSAVE) == 0) {
+
+       ((TH2F*)mv->GetVertexXY())->SetTitle(Form("%f events with vertex (%i out of %i processed events)",((Double_t)nevents_with_vertex)/((Double_t)nevents_physics),nevents_with_vertex,nevents_physics));
+
        mv->WriteVertices(OUTPUT_FILE);
 
 #ifdef ALI_AMORE
@@ -216,6 +245,7 @@ int main(int argc, char **argv) {
       break;
     }
   }
+  ((TH2F*)mv->GetVertexXY())->SetTitle(Form("%f events with vertex (%i out of %i processed events)",((Double_t)nevents_with_vertex)/((Double_t)nevents_physics),nevents_with_vertex,nevents_physics));
 
   mv->WriteVertices(OUTPUT_FILE);