Minor correction before clean up for MDC
authorpavlinov <pavlinov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 18 Jan 2006 17:52:09 +0000 (17:52 +0000)
committerpavlinov <pavlinov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 18 Jan 2006 17:52:09 +0000 (17:52 +0000)
13 files changed:
EMCAL/AliEMCALDigitizer.cxx
EMCAL/AliEMCALFast.cxx
EMCAL/AliEMCALGeometry.cxx
EMCAL/AliEMCALJetFinder.cxx
EMCAL/AliEMCALJetFinder.h
EMCAL/AliEMCALJetMicroDst.cxx
EMCAL/AliEMCALJetMicroDst.h
EMCAL/AliEMCALv0.cxx
EMCAL/AliEMCALv0.h
EMCAL/AliEMCALv2.cxx
EMCAL/AliEMCALv2.h
EMCAL/EMCALLinkDefbase.h
EMCAL/libEMCALbase.pkg

index 5ba96e5..73d87dc 100644 (file)
@@ -699,7 +699,7 @@ TList *AliEMCALDigitizer::BookControlHists(int var)
   if(var>=1){
     new TH1F("hDigiN",  "#EMCAL digits with fAmp > fDigitThreshold", 
     fNADCEC+1, -0.5, Double_t(fNADCEC));
-    new TH1F("HDigiSumEnergy","Sum.EMCAL energy from digi", 1000, 0.0, 200.);
+    new TH1F("HDigiSumEnergy","Sum.EMCAL energy from digi", 10000, 0.0, 200.);
     new TH1F("hDigiAmp",  "EMCAL digital amplitude", fNADCEC+1, -0.5, Double_t(fNADCEC));
     new TH1F("hDigiEnergy","EMCAL cell energy", 2000, 0.0, 200.);
     new TH1F("hDigiAbsId","EMCAL absId cells with fAmp > fDigitThreshold ",
index 4ac26c4..2255ac8 100644 (file)
@@ -84,7 +84,7 @@ Float_t AliEMCALFast::Efficiency(Int_t ind, Float_t p)
 
 Bool_t AliEMCALFast::EmcalAcceptance(Float_t eta, Float_t phi)
 {
-//
+// 27-oct-05 -> should be change
 // EMCAL eta-phi acceptance
     Bool_t acc = kFALSE;
     if (TMath::Abs(eta) < 0.7 &&
index 8e379f7..0109df6 100644 (file)
@@ -103,7 +103,7 @@ void AliEMCALGeometry::Init(void){
   else if(name.Contains("SHISH")){
     // 7-sep-05; integration issue
     fArm1PhiMin     = 80.0;    // 60  -> 80
-    fArm1PhiMax     = 180.0;   // 180 -> 200
+    fArm1PhiMax     = 180.0;   // 180 -> 190
 
     fNumberOfSuperModules = 10; // 12 = 6 * 2 (6 in phi, 2 in Z);
     fSteelFrontThick = 2.54;    //  9-sep-04
@@ -156,6 +156,7 @@ void AliEMCALGeometry::Init(void){
            }
             fPhiModuleSize = 12.26 - fPhiGapForSM / Float_t(fNPhi); // first assumption
             fEtaModuleSize = fPhiModuleSize;
+            if(name.Contains("HUGE")) fNECLayers *= 3; // 28-oct-05 for analysing leakage    
           }
        }
       } else if(name.Contains("TRD2")) {       // 30-jan-05
@@ -667,21 +668,17 @@ void AliEMCALGeometry::GetTowerPhiEtaIndexInSModule(Int_t nSupMod, Int_t nTower,
   else                               nphi = fNPhi;
 
   ietat = (nTower-1)/nphi + 1; // have to change from 1 to fNZ
-
   iphit = (nTower-1)%nphi + 1; // have to change from 1 to fNPhi
 }
 
 void AliEMCALGeometry::GetCellPhiEtaIndexInSModule(Int_t nSupMod, Int_t nTower, Int_t nIphi, Int_t nIeta, 
 int &iphi, int &ieta)
-{ // added nSupMod; have to check  - 19-oct-05 ! 
-  static Int_t iphit, ietat, nphi;
-
-  if(fKey110DEG == 1 && nSupMod>=11) nphi = fNPhi/2;
-  else                               nphi = fNPhi;
-
-  ietat = (nTower-1)/nphi;
-  ieta  = ietat*fNETAdiv + nIeta; // have to change from 1 to fNZ*fNETAdiv
-
-  iphit = (nTower-1)%nphi;
-  iphi  = iphit*fNPHIdiv + nIphi;  // have to change from 1 to fNPhi*fNPHIdiv
+{ // added nSupMod; Nov 25, 05
+  static Int_t iphit, ietat;
+
+  GetTowerPhiEtaIndexInSModule(nSupMod,nTower, iphit, ietat); 
+  // have to change from 1 to fNZ*fNETAdiv
+  ieta  = (ietat-1)*fNETAdiv + (3-nIeta); // x(module) = -z(SM) 
+  // iphi - have to change from 1 to fNPhi*fNPHIdiv
+  iphi  = (iphit-1)*fNPHIdiv + nIphi;     // y(module) =  y(SM) 
 }
index ef0f424..a4c0661 100644 (file)
@@ -228,12 +228,24 @@ void AliEMCALJetFinder::Init()
 //  Get geometry parameters from EMCAL
 //
 //
-//  Geometry 
-  //AliEMCAL* pEMCAL = (AliEMCAL*) gAlice->GetModule("EMCAL");
-  //  AliEMCALGeometry* geom = 
-  //  AliEMCALGeometry::GetInstance(pEMCAL->GetTitle(), "");
-  AliEMCALGetter * gime = AliEMCALGetter::Instance() ; 
-  AliEMCALGeometry* geom = gime->EMCALGeometry() ;  
+  AliEMCALGeometry *geom=0;
+  AliEMCALGetter   *gime = AliEMCALGetter::Instance(); 
+  if(gime) {
+    geom = gime->EMCALGeometry() ;  
+    if(!geom) {
+      printf(" No AliEMCALGeometry !! \n");
+      assert(0);
+    }
+  } else {  
+    printf(" No AliEMCALGetter !! \n");
+    geom = AliEMCALGeometry::GetInstance();
+    if(!geom) {
+      printf(" No AliEMCALGeometry !! \n");
+      assert(0);
+    } else {
+      printf(" AliEMCALGeometry : %s\n", geom->GetName());
+    }
+  }
 
 //    SetSamplingFraction(geom->GetSampling());
 
index f168282..890d2d7 100644 (file)
@@ -207,8 +207,9 @@ class AliEMCALJetFinder : public TTask {
     Float_t TrackConeEnergy(Float_t eta, Float_t phi);
     virtual void DumpLego();
     virtual void ResetMap();
-    virtual Float_t PropagatePhi(Float_t pt, Float_t charge, Bool_t& curls);
     virtual void RearrangeParticlesMemory(Int_t npart);
+ public:
+    virtual Float_t PropagatePhi(Float_t pt, Float_t charge, Bool_t& curls);
 
     ClassDef(AliEMCALJetFinder,5)                    // JetFinder for EMCAL
 }
index 496cc9f..ca7b8d4 100644 (file)
@@ -817,3 +817,8 @@ int AliEMCALJetMicroDst::SaveListOfHists(TList *list,const char* name,Bool_t kSi
   }
   return save;
 }
+
+void AliEMCALJetMicroDst::Sgpdge(Int_t pdgId, Int_t &gId)
+{ // 8-nov-05 
+  sgpdge_(pdgId, gId);
+}
index bb09c72..8e972d4 100644 (file)
@@ -84,6 +84,7 @@ class AliEMCALJetMicroDst: public TNamed {
   static void FillH2(TList *l=0, Int_t ind=0, Double_t x=-99999., Double_t y=-99999., Double_t w=1.);
   static int  SaveListOfHists(TList *list=0, const char* name="test", Bool_t kSingleKey=kFALSE,
   const char* opt="RECREATE");
+  static void Sgpdge(Int_t pdgId, Int_t &gId); 
 
   AliEMCALJetMicroDst & operator = (const AliEMCALJetMicroDst &) {
     Fatal("operator =", "not implemented") ; return *this ; }
index ac4e968..92d79e0 100644 (file)
@@ -896,7 +896,7 @@ void AliEMCALv0::CreateEmod(const char* mother, const char* child)
       for(int iy=0; iy<g->GetNPhi(); iy++) {
         ypos = g->GetPhiModuleSize()*(2*iy+1 - g->GetNPhi())/2.;
         gMC->Gspos(child, ++nr, mother, xpos, ypos, zpos, idrotm, "ONLY") ;
-      //printf(" %2i xpos %7.2f ypos %7.2f zpos %7.2f \n", nr, xpos, ypos, zpos);
+       //        printf(" %3i(%2i,2i) xpos %7.2f ypos %7.2f zpos %7.2f \n", nr,iy,iz, xpos, ypos, zpos);
       }
     }    
   } else if(gn.Contains("TRD")) { // 30-sep-04; 27-jan-05 - as for TRD1 as for TRD2
@@ -923,8 +923,8 @@ void AliEMCALv0::CreateEmod(const char* mother, const char* child)
           if(iz==0) AliMatrix(idrotm, 0.,0., 90.,90., 90.,0.); // z'(x); y'(y); x'(z)
           else      AliMatrix(idrotm, 90.-angle,180., 90.0,90.0, angle, 0.);
           phiOK = mod->GetCenterOfModule().Phi()*180./TMath::Pi(); 
-          printf(" %2i | angle | %6.3f - %6.3f = %6.3f(eta %5.3f)\n", 
-          iz+1, angle, phiOK, angle-phiOK, mod->GetEtaOfCenterOfModule());
+         //          printf(" %2i | angle | %6.3f - %6.3f = %6.3f(eta %5.3f)\n", 
+          //iz+1, angle, phiOK, angle-phiOK, mod->GetEtaOfCenterOfModule());
           xpos = mod->GetPosXfromR() + g->GetSteelFrontThickness() - smodPar0;
           zpos = mod->GetPosZ() - smodPar2;
 
@@ -936,7 +936,9 @@ void AliEMCALv0::CreateEmod(const char* mother, const char* child)
             ypos = g->GetPhiModuleSize()*(2*iy+1 - iyMax)/2.;
             gMC->Gspos(child, ++nr, mother, xpos, ypos, zpos, idrotm, "ONLY") ;
         //printf(" %2i xpos %7.2f ypos %7.2f zpos %7.2f idrotm %i\n", nr, xpos, ypos, zpos, idrotm);
+            printf("%3.3i(%2.2i,%2.2i) ", nr,iy+1,iz+1);
           }
+          printf("\n");
        } else {
           if(iz==0) AliMatrix(idrotm, 0.,0., 90.,0., 90.,90.); // (x')z; y'(x); z'(y)
           else      AliMatrix(idrotm, 90-angle,270., 90.0,0.0, angle,90.);
@@ -1348,3 +1350,12 @@ void AliEMCALv0::Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t pa
     zpos    += sampleWidth;
   }
 }
+
+AliEMCALShishKebabTrd1Module* AliEMCALv0::GetShishKebabModule(const Int_t neta)
+{ // 28-oct-05
+  AliEMCALShishKebabTrd1Module* trd1=0;
+  if(fShishKebabModules && neta>=0 && neta<fShishKebabModules->GetSize()) {
+    trd1 = (AliEMCALShishKebabTrd1Module*)fShishKebabModules->At(neta);
+  }
+  return trd1;
+}
index 9cf35f5..daacf23 100644 (file)
@@ -18,6 +18,7 @@
 class TFile;
 class TList;
 class TNode;
+class AliEMCALShishKebabTrd1Module;
 
 // --- AliRoot header files ---
 #include "AliEMCAL.h"
@@ -71,11 +72,14 @@ class AliEMCALv0 : public AliEMCAL {
   void PbmoInTrd2(const AliEMCALGeometry * g, const Double_t parEMOD[5], Double_t parPBMO[5]);
   void Division2X2InPbmo(const AliEMCALGeometry * g, const Double_t parPBMO[5]);
 
+  TList  *GetShishKebabModules() {return fShishKebabModules;}
+  AliEMCALShishKebabTrd1Module *GetShishKebabModule(const Int_t neta=0);
+ private:
   TList *fShishKebabModules; //! list of modules for twist geometries
   
  protected:
 
-  ClassDef(AliEMCALv0,2)  // Implementation of EMCAL manager class for midrapidity barrel layout between 0 and 120 degrees 
+  ClassDef(AliEMCALv0,3)  // Implementation of EMCAL manager class for midrapidity barrel layout between 80 and 180(190) degrees 
     
     };
     
index 4c93835..53a7314 100644 (file)
@@ -74,7 +74,7 @@ AliEMCALv2::AliEMCALv2(const char *name, const char *title): AliEMCALv1(name,tit
     if (1){
       TH1::AddDirectory(0);
       fHDe = new TH1F("fHDe","De in EMCAL", 1000, 0., 1.);
-      fHNhits = new TH1F("fHNhits","#hits in EMCAL", 1001, -0.5, 1000.5);
+      fHNhits = new TH1F("fHNhits","#hits in EMCAL", 2001, -0.5, 2000.5);
       fHistograms->Add(fHDe);
       fHistograms->Add(fHNhits);
       TH1::AddDirectory(1);
@@ -268,6 +268,8 @@ void AliEMCALv2::FinishEvent()
 
 Double_t AliEMCALv2::GetDepositEnergy(int print)
 { // 23-mar-05 - for testing
+  cout<<"AliEMCALv2::GetDepositEnergy() : fHits "<<fHits<<endl; 
+  if(fHits == 0) return 0.;
   if(fHits == 0) return 0.;
   AliEMCALHit  *hit=0;
   Double_t de=0.;
index 8dd8217..7ffe7e9 100644 (file)
@@ -54,7 +54,7 @@ public:
     Fatal("operator =", "not implemented") ;  
     return *this;}
   // 23-mar-05
-  Double_t GetDepositEnergy(int print=1); // *MENU*
+  virtual Double_t GetDepositEnergy(int print=1); // *MENU*
   // 30-aug-04
   virtual void Browse(TBrowser* b);
   // drawing
index 8c4df0e..3b58369 100644 (file)
@@ -9,7 +9,9 @@
 #pragma link C++ class AliEMCALv0+;
 #pragma link C++ class AliEMCALv1+;
 #pragma link C++ class AliEMCALv2+;
+#pragma link C++ class AliEMCALv3+;
 #pragma link C++ class AliEMCALHit+;
+#pragma link C++ class AliEMCALHitv1+;
 #pragma link C++ class AliEMCALLoader+;        
 #pragma link C++ class AliEMCALGetter+;
 #pragma link C++ class AliEMCALGeneratorFactory+;
index 4fb0d22..9d196ab 100644 (file)
@@ -6,7 +6,9 @@ AliEMCALGeometry.cxx \
 AliEMCALv0.cxx \
 AliEMCALv1.cxx \
 AliEMCALv2.cxx \
+AliEMCALv3.cxx \
 AliEMCALHit.cxx \
+AliEMCALHitv1.cxx \
 AliEMCALLoader.cxx \
 AliEMCALGetter.cxx \
 AliEMCALGeneratorFactory.cxx \