]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Geometry initialization corrected
authorprsnko <Dmitri.Peressounko@cern.ch>
Sat, 10 May 2014 11:08:17 +0000 (15:08 +0400)
committerprsnko <Dmitri.Peressounko@cern.ch>
Sat, 10 May 2014 11:10:11 +0000 (15:10 +0400)
PWGGA/PHOSTasks/PHOS_Correlation/AliPHOSCorrelations.cxx
PWGGA/PHOSTasks/PHOS_Correlation/AliPHOSCorrelations.h

index d64d5b3180b5c8e8812db21964c1ca8185712ead..39c73d29ac8e8817a29b52e3ea80667e4a0b098c 100644 (file)
@@ -66,6 +66,7 @@ ClassImp(AliPHOSCorrelations)
 //_______________________________________________________________________________
 AliPHOSCorrelations::AliPHOSCorrelations()
 :AliAnalysisTaskSE(),
+        fPHOSGeo(0x0),
        fOutputContainer(0x0),
        fMinClusterEnergy(0.3),
        fMinBCDistance(0),
@@ -116,6 +117,7 @@ AliPHOSCorrelations::AliPHOSCorrelations()
 //_______________________________________________________________________________
 AliPHOSCorrelations::AliPHOSCorrelations(const char *name, Period period)
 :AliAnalysisTaskSE(name),
+        fPHOSGeo(0x0),
        fOutputContainer(0x0),
        fMinClusterEnergy(0.3),
        fMinBCDistance(0),
@@ -1662,4 +1664,28 @@ void AliPHOSCorrelations::FillHistogram(const char * key,Double_t x, Double_t y,
  
   AliError(Form("can not find histogram (of instance TH3) <%s> ",key)) ;
 }
-//_______________________________________________________________________________
\ No newline at end of file
+//_____________________________________________________________________________
+void AliPHOSCorrelations::SetGeometry()
+{
+  // Initialize the PHOS geometry
+  //Init geometry
+  if(!fPHOSGeo){
+     AliOADBContainer geomContainer("phosGeo");
+     geomContainer.InitFromFile("$ALICE_ROOT/OADB/PHOS/PHOSGeometry.root","PHOSRotationMatrixes");
+     TObjArray *matrixes = (TObjArray*)geomContainer.GetObject(fRunNumber,"PHOSRotationMatrixes");
+     fPHOSGeo =  AliPHOSGeometry::GetInstance("IHEP") ;
+     for(Int_t mod=0; mod<5; mod++) {
+        if(!matrixes->At(mod)) {
+          if( fDebug )
+            AliInfo(Form("No PHOS Matrix for mod:%d, geo=%p\n", mod, fPHOSGeo));
+          continue;
+        }
+        else {
+             fPHOSGeo->SetMisalMatrix(((TGeoHMatrix*)matrixes->At(mod)),mod) ;
+             if( fDebug >1 )
+               AliInfo(Form("Adding PHOS Matrix for mod:%d, geo=%p\n", mod, fPHOSGeo));
+        }
+     }
+  } 
+}
index 4a7052dc4d14403966da3a4b524416989b288aae..590c06b911a60474fc8ab863252cdadd78701dad 100644 (file)
@@ -118,6 +118,7 @@ protected:
     void UpdatePhotonLists();
     void UpdateTrackLists();
 
+    void SetGeometry();
 
     Bool_t SelectESDTrack(AliESDtrack * t) const; //estimate if this track can be used for the RP calculation
     Bool_t SelectAODTrack(AliAODTrack * t) const; //estimate if this track can be used for the RP calculation