]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
particle density settable (salvatore
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 17 Jun 2013 05:15:33 +0000 (05:15 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 17 Jun 2013 05:15:33 +0000 (05:15 +0000)
PWGJE/EMCALJetTasks/AliJetModelBaseTask.cxx
PWGJE/EMCALJetTasks/AliJetModelBaseTask.h

index d6c325f0dd7360f0698c8196d0236ca13c3cbd28..04a904804b3be0e7df9e9f7612eb67f4608f95e1 100644 (file)
@@ -55,6 +55,7 @@ AliJetModelBaseTask::AliJetModelBaseTask() :
   fNTracks(0),
   fMarkMC(99999),
   fPtSpectrum(0),
+  fDensitySpectrum(0),
   fQAhistos(kFALSE),
   fIsInit(0),
   fGeom(0),
@@ -106,6 +107,7 @@ AliJetModelBaseTask::AliJetModelBaseTask(const char *name, Bool_t drawqa) :
   fNTracks(1),
   fMarkMC(99999),
   fPtSpectrum(0),
+  fDensitySpectrum(0),
   fQAhistos(drawqa),
   fIsInit(0),
   fGeom(0),
@@ -182,6 +184,12 @@ void AliJetModelBaseTask::UserExec(Option_t *)
     if (fOutMCParticles)
       fOutMCParticles->Delete();
   }
+
+  if (fDensitySpectrum) {
+    fNTracks = fDensitySpectrum->GetRandom();
+    fNCells = fDensitySpectrum->GetRandom();
+    fNClusters = fDensitySpectrum->GetRandom();
+  }
   
   // Clear map
   if (fOutMCParticlesMap)
@@ -265,7 +273,7 @@ Bool_t AliJetModelBaseTask::ExecOnce()
     }
   }
 
-  if (fNTracks > 0 && !fTracksName.IsNull()) {
+  if (!fTracksName.IsNull()) {
     fTracks = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fTracksName));
     if (!fTracks) {
       AliWarning(Form("%s: Couldn't retrieve tracks with name %s!", GetName(), fTracksName.Data()));
@@ -297,7 +305,7 @@ Bool_t AliJetModelBaseTask::ExecOnce()
     }
   }
 
-  if (fNClusters > 0 && !fCaloName.IsNull()) {
+  if (!fCaloName.IsNull()) {
     fClusters = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fCaloName));
  
     if (!fClusters) {
index b7c42dd71458e2603fda77ab4140e000996df14c..c47a292b1fc303457d1206c8954d373f29bf2bbd 100644 (file)
@@ -30,8 +30,11 @@ class AliJetModelBaseTask : public AliAnalysisTaskSE {
   void                   SetPhiRange(Float_t min, Float_t max) { fPhiMin       = min;  fPhiMax = max; }
   void                   SetPtRange(Float_t min, Float_t max)  { fPtMin        = min;  fPtMax  = max;  }
   void                   SetPtSpectrum(TH1 *f)                 { fPtSpectrum   = f;    }
-  void                   SetPtSpectrum(TF1 *f)                 { fPtSpectrum   = new TH1F("ptSpectrum","ptSpectrum",250,f->GetXmin(),f->GetXmax()); 
+  void                   SetPtSpectrum(TF1 *f)                 { fPtSpectrum   = new TH1F("ptSpectrum","ptSpectrum",1000,f->GetXmin(),f->GetXmax()); 
                                                                  fPtSpectrum->Add(f); }
+  void                   SetDensitySpectrum(TH1 *f)            { fDensitySpectrum = f;    }
+  void                   SetDensitySpectrum(TF1 *f)            { fDensitySpectrum = new TH1F("densitypectrum","densitypectrum",1000,f->GetXmin(),f->GetXmax()); 
+                                                                 fDensitySpectrum->Add(f); }
 
   void                   SetMC(Bool_t a)                       { fIsMC         = a   ; }
 
@@ -93,7 +96,8 @@ class AliJetModelBaseTask : public AliAnalysisTaskSE {
   Int_t                  fNCells;                 // how many cells are being processed
   Int_t                  fNTracks;                // how many tracks are being processed
   Int_t                  fMarkMC;                 // which MC label is to be used (default=100)
-  TH1                   *fPtSpectrum;             // pt spectrum parametrization to extract random pt values
+  TH1                   *fPtSpectrum;             // pt spectrum to extract random pt values
+  TH1                   *fDensitySpectrum;        // particle density spectrum to extract random density values
   Bool_t                 fQAhistos;               // draw QA histograms
   Bool_t                 fIsInit;                 //!=true if initialized
   AliEMCALGeometry      *fGeom;                   //!pointer to EMCal geometry
@@ -117,6 +121,6 @@ class AliJetModelBaseTask : public AliAnalysisTaskSE {
   AliJetModelBaseTask(const AliJetModelBaseTask&);            // not implemented
   AliJetModelBaseTask &operator=(const AliJetModelBaseTask&); // not implemented
 
-  ClassDef(AliJetModelBaseTask, 8) // Jet modelling task
+  ClassDef(AliJetModelBaseTask, 9) // Jet modelling task
 };
 #endif