]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updates from Salvatore
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 29 Aug 2012 19:55:59 +0000 (19:55 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 29 Aug 2012 19:55:59 +0000 (19:55 +0000)
PWG/EMCAL/AliEmcalPicoTrackMaker.cxx
PWG/EMCAL/macros/AddTaskEmcalPicoTrackMaker.C
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAJF.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskSAJF.h

index b141614d5b68e81d47ecd85070550265e0b67e6b..c00fdd16eac3da1a12cf8e5a4a9368882ef42d32 100644 (file)
@@ -37,8 +37,8 @@ AliEmcalPicoTrackMaker::AliEmcalPicoTrackMaker() :
 {
   // Constructor.
 
-  fAODfilterBits[0] = 0;
-  fAODfilterBits[1] = 0;
+  fAODfilterBits[0] = -1;
+  fAODfilterBits[1] = -1;
 }
 
 //________________________________________________________________________
@@ -59,8 +59,8 @@ AliEmcalPicoTrackMaker::AliEmcalPicoTrackMaker(const char *name) :
 {
   // Constructor.
 
-  fAODfilterBits[0] = 0;
-  fAODfilterBits[1] = 0;
+  fAODfilterBits[0] = -1;
+  fAODfilterBits[1] = -1;
   fBranchNames = "ESD:AliESDHeader.,AliESDRun.,SPDVertex.,Tracks";
 }
 
@@ -144,12 +144,20 @@ void AliEmcalPicoTrackMaker::UserExec(Option_t *)
       isEmc = track->IsEMCAL();
     } else {
       AliAODTrack *aodtrack = static_cast<AliAODTrack*>(track);
-      if (aodtrack->TestFilterBit(fAODfilterBits[0]))
-       label = 0;
-      else if (aodtrack->TestFilterBit(fAODfilterBits[1]))
-       label = 3;
-      else /*not a good track*/
-        continue;
+      if (fAODfilterBits[0] < 0) {
+       if (aodtrack->IsHybridGlobalConstrainedGlobal())
+         label = 3;
+       else /*not a good track*/
+         continue;
+      }
+      else {
+       if (aodtrack->TestFilterBit(fAODfilterBits[0]))
+         label = 0;
+       else if (aodtrack->TestFilterBit(fAODfilterBits[1]))
+         label = 3;
+       else /*not a good track*/
+         continue;
+      }
 
       if (TMath::Abs(track->GetTrackEtaOnEMCal()) < 0.75 && 
          track->GetTrackPhiOnEMCal() > 70 * TMath::DegToRad() && 
index 2c4f28e5e6a9c393345858595b01b4ee52d03dbd..fd425e34d56c0445e61180ee9a5674256dc8040e 100644 (file)
@@ -3,7 +3,7 @@
 AliEmcalPicoTrackMaker* AddTaskEmcalPicoTrackMaker(
   const char *name       = "PicoTracks",
   const char *inname     = "tracks",
-  const char *runPeriod  = "LHC11h",
+  const char *runPeriod  = "",
   AliESDtrackCuts *cuts  = 0
 )
 {  
@@ -34,12 +34,12 @@ AliEmcalPicoTrackMaker* AddTaskEmcalPicoTrackMaker(
   if (!strcmp(runPeriod, "LHC11h")) {
     eTask->SetAODfilterBits(256,512); // hybrid tracks for LHC11h
   }
-  else if (!strcmp(runPeriod, "LHC11a") || !strcmp(runPeriod, "LHC12a15a")) {
-    eTask->SetAODfilterBits(256,16); // hybrid tracks for LHC12a and LHC12a15a
+  else if (!strcmp(runPeriod, "LHC11a") || !strcmp(runPeriod, "LHC12a15a") || !strcmp(runPeriod, "LHC12a15e")) {
+    eTask->SetAODfilterBits(256,16); // hybrid tracks for LHC11a, LHC12a15a and LHC12a15e
   }
   else {
-    if (!cuts)
-      ::Warning(Form("Run period %s not known. AOD filter bit not set.", runPeriod));
+    if (strcmp(runPeriod, ""))
+      ::Warning(Form("Run period %s not known. It will use IsHybridGlobalConstrainedGlobal.", runPeriod));
   }
   eTask->SetESDtrackCuts(cuts);
 
index 9504be3362433dbf16282e30049d022f00c886a1..da7b787123a2e63bebf058ebe0a645b1cf0f92d6 100644 (file)
@@ -39,6 +39,7 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF() :
   fRandTracksName("TracksRandomized"),
   fRandCaloName("CaloClustersRandomized"),
   fRhoName("Rho"),
+  fRCperEvent(-1),
   fEmbJets(0),
   fEmbTracks(0),
   fEmbCaloClusters(0),
@@ -110,7 +111,8 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF(const char *name) :
   fEmbCaloName(""),
   fRandTracksName("TracksRandomized"),
   fRandCaloName("CaloClustersRandomized"),
-  fRhoName("Rho"),
+  fRhoName("Rho"), 
+  fRCperEvent(-1),
   fEmbJets(0),
   fEmbTracks(0),
   fEmbCaloClusters(0),
@@ -593,50 +595,52 @@ Bool_t AliAnalysisTaskSAJF::FillHistograms()
   const Float_t rcArea = fJetRadius * fJetRadius * TMath::Pi();
 
   // Simple random cones
-  Float_t RCpt = 0;
-  Float_t RCptRigid = 0;
-  Float_t RCeta = 0;
-  Float_t RCphi = 0;
-  GetRigidCone(RCpt, RCptRigid, RCeta, RCphi, 0);
-  if (RCpt > 0) {
-    fHistRCPt[fCentBin]->Fill(RCpt / rcArea);
-    fHistDeltaPtRC[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
-  }
-  if (RCptRigid > 0) {
-    fHistRCPtRigid[fCentBin]->Fill(RCptRigid / rcArea);
-    fHistDeltaPtRCRigid[fCentBin]->Fill(RCptRigid - rcArea * fRhoVal);
-  }
+  for (Int_t i = 0; i < fRCperEvent; i++) {
+    Float_t RCpt = 0;
+    Float_t RCptRigid = 0;
+    Float_t RCeta = 0;
+    Float_t RCphi = 0;
+    GetRigidCone(RCpt, RCptRigid, RCeta, RCphi, 0);
+    if (RCpt > 0) {
+      fHistRCPt[fCentBin]->Fill(RCpt / rcArea);
+      fHistDeltaPtRC[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
+    }
+    if (RCptRigid > 0) {
+      fHistRCPtRigid[fCentBin]->Fill(RCptRigid / rcArea);
+      fHistDeltaPtRCRigid[fCentBin]->Fill(RCptRigid - rcArea * fRhoVal);
+    }
   
-  // Random cones far from leading jet
-  RCpt = 0;
-  RCptRigid = 0;
-  RCeta = 0;
-  RCphi = 0;
-  GetRigidCone(RCpt, RCptRigid, RCeta, RCphi, jet);
-  if (RCpt > 0) {
-    fHistRCPhiEta->Fill(RCeta, RCphi);
-    fHistRhoVSRCPt->Fill(fRhoVal, RCpt / rcArea);
-
-    Float_t dphi = RCphi - jet->Phi();
-    if (dphi > 4.8) dphi -= TMath::Pi() * 2;
-    if (dphi < -1.6) dphi += TMath::Pi() * 2; 
-    fHistRCPtExLJVSDPhiLJ->Fill(RCpt, dphi);
+    // Random cones far from leading jet
+    RCpt = 0;
+    RCptRigid = 0;
+    RCeta = 0;
+    RCphi = 0;
+    GetRigidCone(RCpt, RCptRigid, RCeta, RCphi, jet);
+    if (RCpt > 0) {
+      fHistRCPhiEta->Fill(RCeta, RCphi);
+      fHistRhoVSRCPt->Fill(fRhoVal, RCpt / rcArea);
+      
+      Float_t dphi = RCphi - jet->Phi();
+      if (dphi > 4.8) dphi -= TMath::Pi() * 2;
+      if (dphi < -1.6) dphi += TMath::Pi() * 2; 
+      fHistRCPtExLJVSDPhiLJ->Fill(RCpt, dphi);
     
-    fHistRCPtExLJ[fCentBin]->Fill(RCpt / rcArea);
-    fHistDeltaPtRCExLJ[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
-  }
-
-  // Random cones with randomized particles
-  RCpt = 0;
-  RCptRigid = 0;
-  RCeta = 0;
-  RCphi = 0;
-  GetRigidCone(RCpt, RCptRigid, RCeta, RCphi, 0, fRandTracks, fRandCaloClusters);
-  if (RCpt > 0) {
-    fHistRCPtRand[fCentBin]->Fill(RCpt / rcArea);
-    fHistDeltaPtRCRand[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
+      fHistRCPtExLJ[fCentBin]->Fill(RCpt / rcArea);
+      fHistDeltaPtRCExLJ[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
+    }
+    
+    // Random cones with randomized particles
+    RCpt = 0;
+    RCptRigid = 0;
+    RCeta = 0;
+    RCphi = 0;
+    GetRigidCone(RCpt, RCptRigid, RCeta, RCphi, 0, fRandTracks, fRandCaloClusters);
+    if (RCpt > 0) {
+      fHistRCPtRand[fCentBin]->Fill(RCpt / rcArea);
+      fHistDeltaPtRCRand[fCentBin]->Fill(RCpt - rcArea * fRhoVal);
+    }  
   }
-
+  
   // ************
   // Embedding
   // _________________________________
@@ -1219,6 +1223,14 @@ void AliAnalysisTaskSAJF::ExecOnce()
 
   AliAnalysisTaskEmcalJet::ExecOnce();
 
+  if (fRCperEvent < 0) {
+    Double_t area = (fMaxEta - fMinEta) * (fMaxPhi - fMinPhi);
+    Double_t jetArea = TMath::Pi() * fJetRadius * fJetRadius;
+    fRCperEvent = TMath::FloorNint(area / jetArea - 0.5);
+    if (fRCperEvent == 0)
+      fRCperEvent = 1;
+  }
+
   if (fMinRC2LJ < 0)
     fMinRC2LJ = fJetRadius * 1.5;
 
index da0d0353372793990fc82ceb7b8661b36d190b70..18d6a2e4c5d70a29b27a74272b8c797c5aa5b0bf 100644 (file)
@@ -29,6 +29,7 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
   void                        SetEmbClusName(const char *n)                        { fEmbCaloName             = n          ; }
   void                        SetRhoName(const char *n)                            { fRhoName                 = n          ; }
   void                        SetMC(Bool_t m)                                      { fMCAna                   = m          ; }
+  void                        SetRCperEvent(Int_t n)                               { fRCperEvent              = n          ; }
 
  protected:
   void                        ExecOnce()                                                                                    ;
@@ -52,6 +53,7 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
   TString                     fRandTracksName;             // Name of randomized track collection
   TString                     fRandCaloName;               // Name of randomized calo cluster collection
   TString                     fRhoName;                    // Name of rho object
+  Int_t                       fRCperEvent;                 // No. of random cones per event
 
   TClonesArray               *fEmbJets;                    //!Embedded Jets
   TClonesArray               *fEmbTracks;                  //!Embedded tracks
@@ -120,6 +122,6 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskEmcalJet {
   AliAnalysisTaskSAJF(const AliAnalysisTaskSAJF&);            // not implemented
   AliAnalysisTaskSAJF &operator=(const AliAnalysisTaskSAJF&); // not implemented
 
-  ClassDef(AliAnalysisTaskSAJF, 9) // jet analysis task
+  ClassDef(AliAnalysisTaskSAJF, 10) // jet analysis task
 };
 #endif