Example train to produce HF candidates
[u/mrichter/AliRoot.git] / THbtp / AliGenHBTprocessor.cxx
index bfd17c7..96c7770 100644 (file)
@@ -76,7 +76,9 @@
 #include "THBTprocessor.h"
 
 #include "AliStack.h"
+#include "AliMC.h"
 #include "AliGenCocktailAfterBurner.h"
+#include "AliLog.h"
 
 
 
@@ -87,21 +89,76 @@ static TRandom* gAliRandom;//RNG to be used by the fortran code
 
 AliGenCocktailAfterBurner*  GetGenerator();
 /*******************************************************************/
-AliGenHBTprocessor::AliGenHBTprocessor(const AliGenHBTprocessor& in):
-  AliGenerator(in), 
-  fHBTprocessor(0x0),
-  fHbtPStatCodes(0x0),
-  fEventMerge(1)
-{
-//copy contructor
-  // AliGenHBTprocessor::AliGenHBTprocessor();
 
-}
 AliGenHBTprocessor::AliGenHBTprocessor(): 
   AliGenerator(), 
   fHBTprocessor(0x0),
   fHbtPStatCodes(0x0),
-  fEventMerge(1)
+  fNPDGCodes(0),
+  fTrackRejectionFactor(0),
+  fReferenceControl(0),
+  fPrintFull(0),
+  fPrintSectorData(0),
+  fNPidTypes(0),
+  fNevents(0),
+  fSwitch1d(0),
+  fSwitch3d(0),
+  fSwitchType(0),
+  fSwitchCoherence(0),
+  fSwitchCoulomb(0),
+  fSwitchFermiBose(0),
+  fEventLineCounter(0),
+  fMaxit(0),
+  fIrand(0),
+  fLambda(0),
+  fR1d(0),
+  fRside(0),
+  fRout(0),
+  fRlong(0),
+  fRperp(0),
+  fRparallel(0),
+  fR0(0),
+  fQ0(0),
+  fDeltap(0),
+  fDelchi(0),
+  fNPtBins(0),
+  fNPhiBins(0),
+  fNEtaBins(0),
+  fN1dFine(0),
+  fN1dCoarse(0),
+  fN1dTotal(0),
+  fN3dFine(0),
+  fN3dCoarse(0),
+  fN3dTotal(0),
+  fN3dFineProject(0),
+  fNPxBins(0),
+  fNPyBins(0),
+  fNPzBins(0),
+  fNSectors(0),
+  fPtBinSize(0),
+  fPhiBinSize(0),
+  fEtaBinSize(0),
+  fEtaMin(0),
+  fEtaMax(0),
+  fBinsize1dFine(0),
+  fBinsize1dCoarse(0),
+  fQmid1d(0),
+  fQmax1d(0),
+  fBinsize3dFine(0),
+  fBinsize3dCoarse(0),
+  fQmid3d(0),
+  fQmax3d(0),
+  fPxMin(0),
+  fPxMax(0),
+  fDelpx(0),
+  fPyMin(0),
+  fPyMax(0),
+  fDelpy(0),
+  fPzMin(0),
+  fPzMax(0),
+  fDelpz(0),
+  fEventMerge(1),
+  fActiveStack(0)
 {
   //
   // Standard constructor
@@ -665,7 +722,7 @@ void AliGenHBTprocessor::SetPzRange(Float_t pzmin, Float_t pzmax)
    fPzMax =pzmax; 
    fHBTprocessor->SetPzRange(pzmin,pzmax);
  }
-void AliGenHBTprocessor::SetMomentumRange(Float_t /*pmin*/, Float_t /*pmax*/) const
+void AliGenHBTprocessor::SetMomentumRange(Float_t /*pmin*/, Float_t /*pmax*/)
  {
  //default pmin=0, pmax=0
  //Do not use this method!
@@ -852,7 +909,7 @@ void AliGenHBTprocessor::SetPrintFull(Int_t flag)
 Int_t  AliGenHBTprocessor::GetNumberOfEvents()
 {
 //returns number of available events
-  AliGenerator* g = gAlice->Generator();
+  AliGenerator* g = gAlice->GetMCApp()->Generator();
   AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
   if (cab == 0x0)
    {
@@ -868,16 +925,14 @@ void AliGenHBTprocessor::SetActiveEventNumber(Int_t n)
 {
 //sets the active event
  fActiveStack =  n*fEventMerge;
- if (GetDebug())
-  Info("SetActiveEventNumber","Settimg active event %d passed %d",
-        fActiveStack,n);
+ AliDebug(1,Form("Settimg active event %d passed %d",fActiveStack,n));
 }
 /*******************************************************************/
 
 Int_t  AliGenHBTprocessor::GetNumberOfTracks()
 {
 //returns number of tracks in active event
-  AliGenerator* g = gAlice->Generator();
+  AliGenerator* g = gAlice->GetMCApp()->Generator();
   AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
   if (cab == 0x0)
    {
@@ -908,8 +963,8 @@ void AliGenHBTprocessor::SetNEventsToMerge(Int_t nev)
 TParticle* AliGenHBTprocessor::GetTrack(Int_t n)
 { 
 //returns track that hbtp thinks is n in active event
-  if (GetDebug() > 5) Info("GetTrack","n = %d",n);
-  AliGenerator* g = gAlice->Generator();
+  AliDebug(5,Form("n = %d",n));
+  AliGenerator* g = gAlice->GetMCApp()->Generator();
   AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
   if (cab == 0x0)
    {
@@ -919,13 +974,13 @@ TParticle* AliGenHBTprocessor::GetTrack(Int_t n)
 
  Int_t ev, idx;
  GetTrackEventIndex(n,ev,idx);
- if (GetDebug() > 5) Info("GetTrack","Event = %d Particle = %d",ev,idx);
+ AliDebug(5,Form("Event = %d Particle = %d",ev,idx));
  if ( (ev<0) || (idx<0) )
   {
     Error("GetTrack","GetTrackEventIndex returned error");
     return 0x0;
   }
- if (GetDebug() > 5) Info("GetTrack","Number of Tracks in Event(%d) = %d",ev,cab->GetStack(ev)->GetNprimary());
+ AliDebug(5,Form("Number of Tracks in Event(%d) = %d",ev,cab->GetStack(ev)->GetNprimary()));
  return cab->GetStack(ev)->Particle(idx);//safe - in case stack does not exist 
 }
 /*******************************************************************/
@@ -933,7 +988,7 @@ TParticle* AliGenHBTprocessor::GetTrack(Int_t n)
 void AliGenHBTprocessor::GetTrackEventIndex(Int_t n, Int_t &evno, Int_t &index) const
 {
  //returns event(stack) number and particle index
-  AliGenerator* g = gAlice->Generator();
+  AliGenerator* g = gAlice->GetMCApp()->Generator();
   AliGenCocktailAfterBurner* cab = (g)?dynamic_cast<AliGenCocktailAfterBurner*>(g):0x0;
   if (cab == 0x0)
    {
@@ -953,7 +1008,7 @@ void AliGenHBTprocessor::GetTrackEventIndex(Int_t n, Int_t &evno, Int_t &index)
      }
 
     Int_t ntracks = stack->GetNprimary();
-    if (GetDebug() > 10) Info("GetTrackEventIndex","Event %d has %d tracks. n = %d",i,ntracks,n);
+    AliDebug(10,Form("Event %d has %d tracks. n = %d",i,ntracks,n));
     
     if ( ntracks > n) 
      {
@@ -1100,7 +1155,7 @@ AliGenCocktailAfterBurner*  GetGenerator()
               "Running HBT Processor without gAlice... Exiting \n");
       return 0x0;//pro forma
     }
-   AliGenerator * gen = gAlice->Generator();
+   AliGenerator * gen = gAlice->GetMCApp()->Generator();
    
    if (!gen) 
     {
@@ -1169,15 +1224,15 @@ extern "C" void type_ofCall  alihbtp_initialize()
 
 extern "C" void type_ofCall alihbtp_getnumberevents(Int_t &nev)
  {
-  //passes number of events to the fortran 
+   //passes number of events to the fortran 
    if(AliGenHBTprocessor::GetDebug()) 
-    ::Info("AliGenHBTprocessor.cxx: alihbtp_getnumberevents","(%d) ....",nev);
+    AliInfoGeneral("alihbtp_getnumberevents",Form("(%d) ....",nev));
 
    AliGenHBTprocessor* gen = GetAliGenHBTprocessor();//we dont check because it is done in function
    nev = gen->GetNumberOfEvents();
     
    if(AliGenHBTprocessor::GetDebug()>5) 
-    ::Info("AliGenHBTprocessor.cxx: alihbtp_getnumberevents","EXITED N Ev = %d",nev);
+    AliInfoGeneral("alihbtp_getnumberevents",Form("EXITED N Ev = %d",nev));
  }
 
 /*******************************************************************/