Particle ID: distinguish now NEUTRAL HADRON form NEUTRAL EM
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 Feb 2000 09:22:39 +0000 (09:22 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 17 Feb 2000 09:22:39 +0000 (09:22 +0000)
PHOS/AliPHOSAnalyze.cxx
PHOS/AliPHOSAnalyze.h
PHOS/AliPHOSPIDv1.cxx
PHOS/AliPHOSRecParticle.cxx
PHOS/AliPHOSRecParticle.h

index 196f538..17e8f05 100644 (file)
@@ -236,11 +236,17 @@ void AliPHOSAnalyze::AnalyzeOneEvent(Int_t evt)
                      //fhElectronPositionY->Fill(recpart. ) ; 
                      //cout << "ELECTRON" << endl;
                      break;
-                   case kNEUTRON:
-                     fhNeutronEnergy->Fill(recpart.Energy() ) ; 
-                     //fhNeutronPositionX->Fill(recpart. ) ;
-                     //fhNeutronPositionY->Fill(recpart. ) ; 
-                     //cout << "NEUTRON" << endl;
+                   case kNEUTRALHADRON:
+                     fhNeutralHadronEnergy->Fill(recpart.Energy() ) ; 
+                     //fhNeutralHadronPositionX->Fill(recpart. ) ;
+                     //fhNeutralHadronPositionY->Fill(recpart. ) ; 
+                     //cout << "NEUTRAl HADRON" << endl;
+                     break ;
+                   case kNEUTRALEM:
+                     fhNeutralEMEnergy->Fill(recpart.Energy() ) ; 
+                     //fhNeutralEMPositionX->Fill(recpart. ) ;
+                     //fhNeutralEMPositionY->Fill(recpart. ) ; 
+                     //cout << "NEUTRAL EM" << endl;
                      break ;
                    case kCHARGEDHADRON :
                      fhChargedHadronEnergy->Fill(recpart.Energy() ) ; 
@@ -267,31 +273,42 @@ void AliPHOSAnalyze::AnalyzeOneEvent(Int_t evt)
 //____________________________________________________________________________
 void  AliPHOSAnalyze::BookingHistograms()
 {
-  if (fhEmcDigit )         delete fhEmcDigit  ;
-  if (fhVetoDigit )        delete fhVetoDigit  ;
-  if (fhConvertorDigit )   delete fhConvertorDigit   ;
-  if (fhEmcCluster   )     delete  fhEmcCluster   ;
-  if (fhVetoCluster )      delete fhVetoCluster   ;
-  if (fhConvertorCluster ) delete fhConvertorCluster  ;
-  if (fhConvertorEmc )     delete fhConvertorEmc  ;
-  fhEmcDigit         = new TH1F("hEmcDigit",      "hEmcDigit",         1000,  0. ,  25.);
-  fhVetoDigit        = new TH1F("hVetoDigit",     "hVetoDigit",         500,  0. ,  3.e-5);
-  fhConvertorDigit   = new TH1F("hConvertorDigit","hConvertorDigit",    500,  0. ,  3.e-5);
-  fhEmcCluster       = new TH1F("hEmcCluster",    "hEmcCluster",       1000,  0. ,  30.);
-  fhVetoCluster      = new TH1F("hVetoCluster",   "hVetoCluster",       500,  0. ,  3.e-5);
-  fhConvertorCluster = new TH1F("hConvertorCluster","hConvertorCluster",500,  0. ,  3.e-5);
-  fhConvertorEmc     = new TH2F("hConvertorEmc",  "hConvertorEmc",      200,  1. ,  3., 200, 0., 3.e-5);
-  fhPhotonEnergy     = new TH1F("hPhotonEnergy",  "hPhotonEnergy",     1000,  0. ,  30.);
-  fhElectronEnergy   = new TH1F("hElectronEnergy","hElectronEnergy",   1000,  0. ,  30.);
-  fhNeutronEnergy    = new TH1F("hNeutronEnergy", "hNeutronEnergy",    1000,  0. ,  30.);
-  fhChargedHadronEnergy    = new TH1F("hChargedHadronEnergy", "hChargedHadronEnergy",    1000,  0. ,  30.);
-  fhPhotonPositionX  = new TH1F("hPhotonPositionX","hPhotonPositionX",   500,-80. , 80.);
-  fhElectronPositionX= new TH1F("hElectronPositionX","hElectronPositionX",500,-80. , 80.);
-  fhNeutronPositionX  = new TH1F("hNeutronPositionX","hNeutronPositionX",500,-80. , 80.);
+  if (fhEmcDigit )         
+    delete fhEmcDigit  ;
+  if (fhVetoDigit )     
+    delete fhVetoDigit  ;
+  if (fhConvertorDigit ) 
+    delete fhConvertorDigit   ;
+  if (fhEmcCluster   )  
+    delete  fhEmcCluster   ;
+  if (fhVetoCluster )     
+    delete fhVetoCluster   ;
+  if (fhConvertorCluster )
+    delete fhConvertorCluster  ;
+  if (fhConvertorEmc )    
+    delete fhConvertorEmc  ;
+  fhEmcDigit                = new TH1F("hEmcDigit",      "hEmcDigit",         1000,  0. ,  25.);
+  fhVetoDigit               = new TH1F("hVetoDigit",     "hVetoDigit",         500,  0. ,  3.e-5);
+  fhConvertorDigit          = new TH1F("hConvertorDigit","hConvertorDigit",    500,  0. ,  3.e-5);
+  fhEmcCluster              = new TH1F("hEmcCluster",    "hEmcCluster",       1000,  0. ,  30.);
+  fhVetoCluster             = new TH1F("hVetoCluster",   "hVetoCluster",       500,  0. ,  3.e-5);
+  fhConvertorCluster        = new TH1F("hConvertorCluster","hConvertorCluster",500,  0. ,  3.e-5);
+  fhConvertorEmc            = new TH2F("hConvertorEmc",  "hConvertorEmc",      200,  1. ,  3., 200, 0., 3.e-5);
+  fhPhotonEnergy            = new TH1F("hPhotonEnergy",  "hPhotonEnergy",     1000,  0. ,  30.);
+  fhElectronEnergy          = new TH1F("hElectronEnergy","hElectronEnergy",   1000,  0. ,  30.);
+  fhNeutralHadronEnergy     = new TH1F("hNeutralHadronEnergy", "hNeutralHadronEnergy",    1000,  0. ,  30.);
+  fhNeutralEMEnergy         = new TH1F("hNeutralEMEnergy", "hNeutralEMEnergy",    1000,  0. ,  30.);
+  fhChargedHadronEnergy     = new TH1F("hChargedHadronEnergy", "hChargedHadronEnergy",    1000,  0. ,  30.);
+  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.);
-  fhPhotonPositionY  = new TH1F("hPhotonPositionY","hPhotonPositionY",   500,-80. , 80.);
-  fhElectronPositionY= new TH1F("hElectronPositionY","hElectronPositionY",500,-80. , 80.);
-  fhNeutronPositionY  = new TH1F("hNeutronPositionY","hNeutronPositionY",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.);
 
 }
@@ -746,25 +763,50 @@ void AliPHOSAnalyze::SavingHistograms()
   sprintf(outputname,"%s.analyzed",fRootFile->GetName());
   TFile output(outputname,"RECREATE");
   output.cd();
-  if (fhEmcDigit )         fhEmcDigit->Write()  ;
-  if (fhVetoDigit )        fhVetoDigit->Write()  ;
-  if (fhConvertorDigit )   fhConvertorDigit->Write()   ;
-  if (fhEmcCluster   )     fhEmcCluster->Write()   ;
-  if (fhVetoCluster )      fhVetoCluster->Write()   ;
-  if (fhConvertorCluster ) fhConvertorCluster->Write()  ;
-  if (fhConvertorEmc )     fhConvertorEmc->Write()  ;
-  if (fhPhotonEnergy)      fhPhotonEnergy->Write() ;
-  if (fhPhotonPositionX)   fhPhotonPositionX->Write() ;
-  if (fhPhotonPositionY)   fhPhotonPositionX->Write() ;
-  if (fhElectronEnergy)    fhElectronEnergy->Write() ;
-  if (fhElectronPositionX) fhElectronPositionX->Write() ;
-  if (fhElectronPositionY) fhElectronPositionX->Write() ;
-  if (fhNeutronEnergy)     fhNeutronEnergy->Write() ;
-  if (fhNeutronPositionX)  fhNeutronPositionX->Write() ;
-  if (fhNeutronPositionY)  fhNeutronPositionX->Write() ;
-  if (fhChargedHadronEnergy)     fhChargedHadronEnergy->Write() ;
-  if (fhChargedHadronPositionX)  fhChargedHadronPositionX->Write() ;
-  if (fhChargedHadronPositionY)  fhChargedHadronPositionX->Write() ;
+  if (fhEmcDigit )         
+    fhEmcDigit->Write()  ;
+  if (fhVetoDigit )  
+    fhVetoDigit->Write()  ;
+  if (fhConvertorDigit ) 
+    fhConvertorDigit->Write()   ;
+  if (fhEmcCluster   )
+    fhEmcCluster->Write()   ;
+  if (fhVetoCluster ) 
+    fhVetoCluster->Write()   ;
+  if (fhConvertorCluster )
+    fhConvertorCluster->Write()  ;
+  if (fhConvertorEmc ) 
+    fhConvertorEmc->Write()  ;
+  if (fhPhotonEnergy)    
+    fhPhotonEnergy->Write() ;
+  if (fhPhotonPositionX)  
+    fhPhotonPositionX->Write() ;
+  if (fhPhotonPositionY)  
+    fhPhotonPositionX->Write() ;
+  if (fhElectronEnergy)  
+    fhElectronEnergy->Write() ;
+  if (fhElectronPositionX)
+    fhElectronPositionX->Write() ;
+  if (fhElectronPositionY) 
+    fhElectronPositionX->Write() ;
+  if (fhNeutralHadronEnergy) 
+    fhNeutralHadronEnergy->Write() ;
+  if (fhNeutralHadronPositionX)
+    fhNeutralHadronPositionX->Write() ;
+  if (fhNeutralHadronPositionY) 
+    fhNeutralHadronPositionX->Write() ;
+  if (fhNeutralEMEnergy)   
+    fhNeutralEMEnergy->Write() ;
+  if (fhNeutralEMPositionX)
+    fhNeutralEMPositionX->Write() ;
+  if (fhNeutralEMPositionY) 
+    fhNeutralEMPositionX->Write() ;
+  if (fhChargedHadronEnergy) 
+    fhChargedHadronEnergy->Write() ;
+  if (fhChargedHadronPositionX) 
+    fhChargedHadronPositionX->Write() ;
+  if (fhChargedHadronPositionY)
+    fhChargedHadronPositionX->Write() ;
 
   output.Write();
   output.Close();
index 2b70249..25c4313 100644 (file)
@@ -64,15 +64,18 @@ private:
   TH2F * fhConvertorEmc    ;   // 2d Convertor versus Emc energies
   TH1F * fhPhotonEnergy    ;   // Spectrum of detected photons
   TH1F * fhElectronEnergy  ;   // Spectrum of detected electrons
-  TH1F * fhNeutronEnergy   ;   // Spectrum of detected neutrals
+  TH1F * fhNeutralHadronEnergy   ;   // Spectrum of detected neutral hadron
+  TH1F * fhNeutralEMEnergy   ;   // Spectrum of detected neutral EM
   TH1F * fhChargedHadronEnergy   ;   // Spectrum of detected charged
   TH1F * fhPhotonPositionX ;   // X distribution of detected photons
   TH1F * fhElectronPositionX ; // X distribution of detected electrons
-  TH1F * fhNeutronPositionX  ; // X distribution of detected neutrals
+  TH1F * fhNeutralHadronPositionX  ; // X distribution of detected neutral hadron
+  TH1F * fhNeutralEMPositionX  ; // X distribution of detected neutral EM
   TH1F * fhChargedHadronPositionX  ; // X distribution of detected charged
   TH1F * fhPhotonPositionY   ; // Y distribution of detected photons
   TH1F * fhElectronPositionY ; // Y distribution of detected electrons
-  TH1F * fhNeutronPositionY  ; // Y distribution of detected neutrals
+  TH1F * fhNeutralHadronPositionY  ; // Y distribution of detected neutral hadron
+  TH1F * fhNeutralEMPositionY  ; // Y distribution of detected neutral EM
   TH1F * fhChargedHadronPositionY  ; // Y distribution of detected charged
 
 
index 0e03756..4454fce 100644 (file)
@@ -67,9 +67,9 @@ void  AliPHOSPIDv1::GetParticleType(TrackSegmentsList * trsl, RecParticlesList *
       recp->GetElipsAxis(lambda) ; 
       if ( ( lambda[0] > fLambda1m && lambda[0] < fLambda1M ) && // shower profile cut
           ( lambda[1] > fLambda2m && lambda[1] < fLambda2M ) )
-       type = kGAMMA ; 
+       type = kNEUTRALEM ; 
       else 
-       type = kNEUTRON ; 
+       type = kNEUTRALHADRON ; 
       delete lambda ; 
    }
     if (type == kCHARGED) { 
index cc717d0..8add627 100644 (file)
@@ -72,8 +72,11 @@ TString AliPHOSRecParticle::Name()
    case kCHARGEDHADRON:
     name = "CHARGED HADRON" ;
     break ; 
-  case kNEUTRON:
-    name = "NEUTRAL BARYON" ; 
+  case kNEUTRALHADRON:
+    name = "NEUTRAL HADRON" ; 
+    break ; 
+  case kNEUTRALEM:
+    name = "NEUTRAL EM" ; 
     break ; 
   }
   return name ; 
index 1da0c02..bdea233 100644 (file)
@@ -29,7 +29,8 @@ const static Int_t kELECTRON      = 1 ;
 const static Int_t kNEUTRAL       = 2 ;  
 const static Int_t kCHARGED       = 3 ;  
 const static Int_t kCHARGEDHADRON = 4 ;  
-const static Int_t kNEUTRON       = 5 ;  
+const static Int_t kNEUTRALHADRON = 5 ;  
+const static Int_t kNEUTRALEM     = 6 ;  
 
 class AliPHOSRecParticle : public TParticle {