A new particle specie was created: a PHOTON HADRON
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Feb 2000 16:50:32 +0000 (16:50 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Feb 2000 16:50:32 +0000 (16:50 +0000)
PHOS/AliPHOSAnalyze.cxx
PHOS/AliPHOSAnalyze.h
PHOS/AliPHOSPIDv1.cxx
PHOS/AliPHOSRecParticle.cxx
PHOS/AliPHOSRecParticle.h

index 557a371..667b6ff 100644 (file)
@@ -256,7 +256,12 @@ void AliPHOSAnalyze::AnalyzeOneEvent(Int_t evt)
                      //fhChargedHadronPositionY->Fill(recpart. ) ; 
                      cout << "CHARGED HADRON" << endl;
                      break ;
-                     
+                   case kGAMMAHADRON:
+                     fhPhotonHadronEnergy->Fill(recparticle->Energy() ) ; 
+                     //fhPhotonHadronPositionX->Fill(recpart. ) ;
+                     //fhPhotonHadronPositionY->Fill(recpart. ) ; 
+                     cout << "PHOTON HADRON" << endl;
+                     break ;                 
                    }
                }
            }
@@ -302,16 +307,19 @@ void  AliPHOSAnalyze::BookingHistograms()
   fhNeutralHadronEnergy     = new TH1F("hNeutralHadronEnergy", "hNeutralHadronEnergy",    1000,  0. ,  30.);
   fhNeutralEMEnergy         = new TH1F("hNeutralEMEnergy", "hNeutralEMEnergy",    1000,  0. ,  30.);
   fhChargedHadronEnergy     = new TH1F("hChargedHadronEnergy", "hChargedHadronEnergy",    1000,  0. ,  30.);
+  fhPhotonHadronEnergy      = new TH1F("hPhotonHadronEnergy","hPhotonHadronEnergy",500,-80. , 80.);
   fhPhotonPositionX         = new TH1F("hPhotonPositionX","hPhotonPositionX",   500,-80. , 80.);
   fhElectronPositionX       = new TH1F("hElectronPositionX","hElectronPositionX",500,-80. , 80.);
   fhNeutralHadronPositionX  = new TH1F("hNeutralHadronPositionX","hNeutralHadronPositionX",500,-80. , 80.);
   fhNeutralEMPositionX      = new TH1F("hNeutralEMPositionX","hNeutralEMPositionX",500,-80. , 80.);
   fhChargedHadronPositionX  = new TH1F("hChargedHadronPositionX","hChargedHadronPositionX",500,-80. , 80.);
+  fhPhotonHadronPositionX   = new TH1F("hPhotonHadronPositionX","hPhotonHadronPositionX",500,-80. , 80.);
   fhPhotonPositionY         = new TH1F("hPhotonPositionY","hPhotonPositionY",   500,-80. , 80.);
   fhElectronPositionY       = new TH1F("hElectronPositionY","hElectronPositionY",500,-80. , 80.);
   fhNeutralHadronPositionY  = new TH1F("hNeutralHadronPositionY","hNeutralHadronPositionY",500,-80. , 80.);
   fhNeutralEMPositionY      = new TH1F("hNeutralEMPositionY","hNeutralEMPositionY",500,-80. , 80.);
   fhChargedHadronPositionY  = new TH1F("hChargedHadronPositionY","hChargedHadronPositionY",500,-80. , 80.);
+  fhPhotonHadronPositionY   = new TH1F("hPhotonHadronPositionY","hPhotonHadronPositionY",500,-80. , 80.);
 
 }
 //____________________________________________________________________________
@@ -809,6 +817,12 @@ void AliPHOSAnalyze::SavingHistograms()
     fhChargedHadronPositionX->Write() ;
   if (fhChargedHadronPositionY)
     fhChargedHadronPositionX->Write() ;
+  if (fhPhotonHadronEnergy) 
+    fhPhotonHadronEnergy->Write() ;
+  if (fhPhotonHadronPositionX) 
+    fhPhotonHadronPositionX->Write() ;
+  if (fhPhotonHadronPositionY)
+    fhPhotonHadronPositionX->Write() ;
 
   output.Write();
   output.Close();
index 25c4313..35cc8e9 100644 (file)
@@ -67,16 +67,19 @@ private:
   TH1F * fhNeutralHadronEnergy   ;   // Spectrum of detected neutral hadron
   TH1F * fhNeutralEMEnergy   ;   // Spectrum of detected neutral EM
   TH1F * fhChargedHadronEnergy   ;   // Spectrum of detected charged
+  TH1F * fhPhotonHadronEnergy  ; // Spectrum of detected Photon-Hadron
   TH1F * fhPhotonPositionX ;   // X distribution of detected photons
   TH1F * fhElectronPositionX ; // X distribution of detected electrons
   TH1F * fhNeutralHadronPositionX  ; // X distribution of detected neutral hadron
   TH1F * fhNeutralEMPositionX  ; // X distribution of detected neutral EM
   TH1F * fhChargedHadronPositionX  ; // X distribution of detected charged
+  TH1F * fhPhotonHadronPositionX  ; // X distribution of detected Photon-Hadron
   TH1F * fhPhotonPositionY   ; // Y distribution of detected photons
   TH1F * fhElectronPositionY ; // Y distribution of detected electrons
   TH1F * fhNeutralHadronPositionY  ; // Y distribution of detected neutral hadron
   TH1F * fhNeutralEMPositionY  ; // Y distribution of detected neutral EM
   TH1F * fhChargedHadronPositionY  ; // Y distribution of detected charged
+  TH1F * fhPhotonHadronPositionY  ; // Y distribution of detected Photon-Hadron
 
 
 ClassDef(AliPHOSAnalyze,1)  // PHOS event analyzis , version 1
index f4e934e..ec95def 100644 (file)
@@ -69,9 +69,17 @@ void  AliPHOSPIDv1::MakeParticles(TrackSegmentsList * trsl, RecParticlesList * r
       
       if( tracksegment->GetPpsdLow() == 0 )    // Neutral  
        type = kNEUTRAL ;   
-      else                           // Gamma
-       type = kGAMMA ;               
-    }
+      else {    // check the shower profile       
+       AliPHOSEmcRecPoint * recp = tracksegment->GetEmcRecPoint() ; 
+       Float_t * lambda = new Float_t[2]; 
+       recp->GetElipsAxis(lambda) ; 
+       if ( ( lambda[0] > fLambda1m && lambda[0] < fLambda1M ) && // shower profile cut
+            ( lambda[1] > fLambda2m && lambda[1] < fLambda2M ) )       
+         type = kGAMMA ;                      // a well identified photon 
+       else 
+         type = kGAMMAHADRON ;                // looks like a photon but is a hadron (most likely)  
+      }
+    } // Neutral
     else                            // Charged           
       type = kCHARGED ;   
 
index 7efe03b..67da3bf 100644 (file)
@@ -67,6 +67,10 @@ TString AliPHOSRecParticle::Name()
   case kNEUTRALEM:
     name = "NEUTRAL EM" ; 
     break ; 
+  case kGAMMAHADRON:
+    name = "PHOTON HADRON" ; 
+    break ; 
+
   }
   return name ; 
 }
index bdea233..fbc47cc 100644 (file)
@@ -31,6 +31,7 @@ const static Int_t kCHARGED       = 3 ;
 const static Int_t kCHARGEDHADRON = 4 ;  
 const static Int_t kNEUTRALHADRON = 5 ;  
 const static Int_t kNEUTRALEM     = 6 ;  
+const static Int_t kGAMMAHADRON   = 7 ; 
 
 class AliPHOSRecParticle : public TParticle {