add different AliFiducialCut instance for trigger detector so that acceptance cuts...
authorgconesab <gustavo.conesa.balbastre@cern.ch>
Mon, 11 Aug 2014 07:43:35 +0000 (09:43 +0200)
committergconesab <gustavo.conesa.balbastre@cern.ch>
Mon, 11 Aug 2014 17:22:11 +0000 (19:22 +0200)
PWGGA/CaloTrackCorrelations/AliAnaGeneratorKine.cxx
PWGGA/CaloTrackCorrelations/AliAnaGeneratorKine.h
PWGGA/CaloTrackCorrelations/macros/AddTaskCaloTrackCorr.C

index b608cf9..6c05869 100755 (executable)
@@ -38,6 +38,7 @@ ClassImp(AliAnaGeneratorKine)
 AliAnaGeneratorKine::AliAnaGeneratorKine() : 
 AliAnaCaloTrackCorrBaseClass(), 
 fTriggerDetector(""),fCalorimeter(""),
+fFidCutTrigger(0),
 fMinChargedPt(0),    fMinNeutralPt(0),
 fStack(0),
 fParton2(0),         fParton3(0), 
@@ -1069,11 +1070,9 @@ void  AliAnaGeneratorKine::MakeAnalysisFillHistograms()
     // Recover the kinematics:
     particle->Momentum(trigger);
     
-    Bool_t in = GetFiducialCut()->IsInFiducialCut(trigger,fTriggerDetector) ;
-    
+    Bool_t in = GetFiducialCutForTrigger()->IsInFiducialCut(trigger,fTriggerDetector) ;
     if(! in ) continue ;
 
-
     if( GetDebug() > 2) printf("Select trigger particle %d: pdg %d status %d, mother index %d, pT %2.2f, eta %2.2f, phi %2.2f \n",
                                ipr, pdgTrig, statusTrig, imother, ptTrig, particle->Eta(), particle->Phi()*TMath::RadToDeg());
     
index 13bc5c4..a11a7e6 100755 (executable)
@@ -24,7 +24,7 @@ class AliAnaGeneratorKine : public AliAnaCaloTrackCorrBaseClass {
 public:
   
   AliAnaGeneratorKine() ; // default ctor
-  virtual ~AliAnaGeneratorKine() { ; } //virtual dtor              
+  virtual ~AliAnaGeneratorKine() { delete fFidCutTrigger ; } //virtual dtor
   
   Bool_t CorrelateWithPartonOrJet(TLorentzVector trigger,
                                   Int_t   indexTrig,
@@ -60,12 +60,20 @@ public:
   void    SetMinChargedPt   ( Float_t pt )   { fMinChargedPt    = pt   ; }
   void    SetMinNeutralPt   ( Float_t pt )   { fMinNeutralPt    = pt   ; }
   
-    
+  // Detector for trigger particles acceptance
+  AliFiducialCut * GetFiducialCutForTrigger()
+  { if(!fFidCutTrigger)  fFidCutTrigger  = new AliFiducialCut(); return  fFidCutTrigger  ; }
+  virtual void     SetFiducialCut(AliFiducialCut * fc)
+  { delete fFidCutTrigger;  fFidCutTrigger  = fc      ; }
+
+  
 private:
   
   TString     fTriggerDetector;             //! trigger detector, for fiducial region
   TString     fCalorimeter;                 //! detector neutral particles, for fiducial region
   
+  AliFiducialCut* fFidCutTrigger;           //! fiducial cut for the trigger detector
+  
   Float_t     fMinChargedPt;                //! Minimum energy for charged particles in correlation
   Float_t     fMinNeutralPt;                //! Minimum energy for neutral particles in correlation
   
index 1119819..754a255 100644 (file)
@@ -1541,18 +1541,19 @@ AliAnaGeneratorKine* ConfigureGenKineAnalysis()
   AliAnaGeneratorKine *ana = new AliAnaGeneratorKine();
   ana->SetDebug(kDebug); //10 for lots of messages
   
-  // Minimum particles energy
+  // Trigger detector, acceptance and pT cut
+  ana->SetTriggerDetector("EMCAL");
   ana->SetMinPt(10); // Trigger photon, pi0 minimum pT
-  ana->SetMinChargedPt(0.2);
-  ana->SetMinNeutralPt(0.3);
+  ana->GetFiducialCutForTrigger()->SetSimpleEMCALFiducialCut(0.6, 85, 175);
   
-  // Detectors acceptance
+  // Particles associated to trigger or isolation cone acceptance and pT cut
   ana->SetCalorimeter("EMCAL");
-  ana->SetTriggerDetector("EMCAL");
-  
+  ana->SetMinChargedPt(0.2);
+  ana->SetMinNeutralPt(0.3);
   ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.65, 81, 179);
   ana->GetFiducialCut()->SetSimpleCTSFiducialCut(0.9, 0, 360);
   
+  // Isolation paramters
   AliIsolationCut * ic =  ana->GetIsolationCut();
   ic->SetDebug(kDebug);
   ic->SetPtThreshold(0.5);