New macros and some changes related to EMCAL (B.Nilsen)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 4 Nov 2001 17:39:29 +0000 (17:39 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 4 Nov 2001 17:39:29 +0000 (17:39 +0000)
macros/Config.C
macros/ConfigHBT.C
macros/Config_pp.C
macros/DrawEMCAL.C [new file with mode: 0644]
macros/ViewEMCAL.C [new file with mode: 0644]
macros/analHits.C

index 861d196..8f5dbb7 100644 (file)
@@ -110,6 +110,7 @@ void Config()
     Int_t   iTPC = 1;
     Int_t   iTRD = 1;
     Int_t   iZDC = 1;
+    Int_t   iEMCAL = 0;
 
     //=================== Alice BODY parameters =============================
     AliBODY *BODY = new AliBODY("BODY", "Alice envelop");
@@ -348,6 +349,12 @@ void Config()
 
     }
 
+    if (iEMCAL && !iRICH)
+    {
+        //=================== EMCAL parameters ============================
+        AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "EMCALArch1a");
+    }
+
     if (iSTART)
     {
         //=================== START parameters ============================
index d19693b..a33cf41 100644 (file)
@@ -192,6 +192,7 @@ void Config()
     Int_t   iTPC = 1;
     Int_t   iTRD = 0;
     Int_t   iZDC = 0;
+    Int_t   iEMCAL = 0;
 
     //=================== Alice BODY parameters =============================
     AliBODY *BODY = new AliBODY("BODY", "Alice envelop");
@@ -425,6 +426,11 @@ void Config()
         PMD->SetPadSize(0.8, 1.0, 1.0, 1.5);
 
     }
+    if (iEMCAL && !iRICH)
+    {
+        //=================== EMCAL parameters ============================
+        AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "EMCALArch1a");
+    }
 
     if (iSTART)
     {
index cb6c300..2401b4d 100644 (file)
@@ -123,6 +123,7 @@ void Config()
     Int_t   iTPC = 1;
     Int_t   iTRD = 1;
     Int_t   iZDC = 1;
+    Int_t   iEMCAL = 0;
 
     //=================== Alice BODY parameters =============================
     AliBODY *BODY = new AliBODY("BODY", "Alice envelop");
@@ -356,6 +357,11 @@ void Config()
         PMD->SetPadSize(0.8, 1.0, 1.0, 1.5);
 
     }
+    if (iEMCAL!=0 && iRICH==0)
+    {
+        //=================== START parameters ============================
+        AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "EMCALArch1a");
+    }
 
     if (iSTART)
     {
diff --git a/macros/DrawEMCAL.C b/macros/DrawEMCAL.C
new file mode 100644 (file)
index 0000000..533e8ec
--- /dev/null
@@ -0,0 +1,16 @@
+void DrawEMCAL(){
+   gMC->Gsatt("*", "seen", -1);
+   gMC->Gsatt("alic", "seen", 0);
+   gROOT->LoadMacro("ViewEMCAL.C");
+   gInterpreter->ProcessLine("ViewEMCAL()");
+   gMC->Gdopt("hide", "on");
+   gMC->Gdopt("shad", "on");
+   gMC->Gsatt("*", "fill", 7);
+   gMC->SetClipBox(".");
+   gMC->SetClipBox("*", 0, 600, -90, 2000, 0, 1000);
+   gMC->DefaultRange();
+   gMC->Gdraw("alic", 40, 30, 0, 8, 7.5, .02, .02);
+   gMC->Gdhead(1111, "Large E&M Calorimeter Detector");
+   gMC->Gdman(16, 4, "MAN");
+   gMC->Gdman(2, 4, "WM2");
+}
diff --git a/macros/ViewEMCAL.C b/macros/ViewEMCAL.C
new file mode 100644 (file)
index 0000000..ea2b62f
--- /dev/null
@@ -0,0 +1,7 @@
+void ViewEMCAL(){
+    gMC->Gsatt("XEN1","seen",0);  // EMCAL envelope/mother volume
+    gMC->Gsatt("XALU","seen",1);  //
+    gMC->Gsatt("XPST","seen",0);
+    gMC->Gsatt("XPBX","seen",0);
+    
+}
index 30bbbe4..f21269c 100644 (file)
@@ -58,6 +58,7 @@ void analHits (const char *filename="galice.root",Int_t evNumber=0, char *opt="L
     AliTRDhit    *trdHit;
     AliCASTORhit *castorHit;
     AliZDCHit    *zdcHit;
+    AliEMCALHit  *emcalHit;
 
 // Get pointers to ALL Alice detectors and Hits containers
     AliFMD    *FMD    = (AliFMD*)    gAlice->GetDetector("FMD");
@@ -73,6 +74,7 @@ void analHits (const char *filename="galice.root",Int_t evNumber=0, char *opt="L
     AliTRD    *TRD    = (AliTRD*)    gAlice->GetDetector("TRD");
     AliCASTOR *CASTOR = (AliCASTOR*) gAlice->GetDetector("CASTOR");
     AliZDC    *ZDC    = (AliZDC*)    gAlice->GetDetector("ZDC");
+    AliEMCAL  *EMCAL  = (AliEMCAL*)  gAlice->GetDetector("EMCAL");
 
 // Get pointer to the particles
 //    TClonesArray *Particles = gAlice->Particles();
@@ -91,6 +93,7 @@ void analHits (const char *filename="galice.root",Int_t evNumber=0, char *opt="L
     if(TRD)   TH1F *hTRD   = new TH1F("hTRD"   ,"Charge",100,0.,10.);
     if(CASTOR)TH1F *hCASTOR= new TH1F("hCASTOR","Hit Radius",100,0.,10.);
     if(ZDC)   TH1F *hZDC   = new TH1F("hZDC"   ,"Energy",100,0.,5.);
+    if(EMCAL) TH1F *hEMCAL = new TH1F("hEMCAL" ,"Energy",100,0.,2.);
 //    TH1F *hTPAR  = new TH1F("hTPAR" ,"?",6,1,7);  
     Int_t track,ntracks = gAlice->TreeH()->GetEntries();
 // Start loop on tracks in the hits containers
@@ -173,6 +176,12 @@ void analHits (const char *filename="galice.root",Int_t evNumber=0, char *opt="L
            hTPC->Fill((Float_t)(tpcHit->fQ));
          } // end for tpcHit
        } // end if TPC
+       if(EMCAL) {
+         for(emcalHit=(AliEMCALHit*)EMCAL->FirstHit(-1);emcalHit;
+             emcalHit=(AliEMCALHit*)EMCAL->NextHit()) {
+           hEMCAL->Fill((Float_t)(emcalHit->GetEnergy()));
+         } // end for tpcHit
+       } // end if TPC
 
     } // end for track
 
@@ -239,6 +248,11 @@ void analHits (const char *filename="galice.root",Int_t evNumber=0, char *opt="L
        hZDC->Draw();
        c0->SaveAs("analHitsZDC.ps");
     } // end if ZDC
+    if(EMCAL){
+       hEMCAL->SetFillColor(42);
+       hEMCAL->Draw();
+       c0->SaveAs("analHitsEMCAL.ps");
+    } // end if ZDC
 
 // Clean Up
     /*