]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
update of package
authorraverbec <raverbec@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 9 Sep 2013 12:23:53 +0000 (12:23 +0000)
committerraverbec <raverbec@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 9 Sep 2013 12:23:53 +0000 (12:23 +0000)
PWGHF/hfe/AliAnalysisTaskHFE.cxx
PWGHF/hfe/AliHFEV0taginfo.cxx
PWGHF/hfe/AliHFEV0taginfo.h
PWGHF/hfe/AliHFEtaggedTrackAnalysis.cxx
PWGHF/hfe/macros/configs/pPb/ConfigHFEmbpPb.C
PWGHF/hfe/macros/configs/pPb/ConfigHFEmbpPbTRD.C
PWGHF/hfe/macros/configs/pPb/ConfigHFEnpepPb.C
PWGHF/hfe/macros/configs/pPb/ConfigHFEpPb.C
PWGHF/hfe/macros/configs/pPb/ConfigHFEpPbTRD.C

index eec61b896cf61f38ff195db56ccc58ee7514694a..258ee17537103f1abc7a6bd452257b83e94c543d 100644 (file)
@@ -452,6 +452,7 @@ void AliAnalysisTaskHFE::UserCreateOutputObjects(){
   fQACollection->CreateTH1F("nElectron", "Number of electrons", 100, 0, 100);
   fQACollection->CreateTH2F("radius", "Production Vertex", 100, 0.0, 5.0, 100, 0.0, 5.0);
   fQACollection->CreateTH1F("nTriggerBit", "Histo Trigger Bit", 22, 0, 22);
+  fQACollection->CreateTH1F("Filterbegin", "AOD filter of tracks after all cuts", 21, -1, 20);
   fQACollection->CreateTH1F("Filterend", "AOD filter of tracks after all cuts", 21, -1, 20);
  
   InitHistoITScluster();
@@ -1430,6 +1431,22 @@ void AliAnalysisTaskHFE::ProcessAOD(){
     AliError("AOD Event required for AOD Analysis");
       return;
   }
+
+  // Tag all v0s in current event
+  if(fV0Tagger){
+      fV0Tagger->Reset();
+      fV0Tagger->TagV0Tracks(fAOD);
+  }
+  // Set magnetic field if V0 task on
+  if(fTaggedTrackAnalysis) {
+    fTaggedTrackAnalysis->SetMagneticField(fAOD->GetMagneticField());
+    fTaggedTrackAnalysis->SetCentrality(fCentralityF);
+    if(IsPbPb()) fTaggedTrackAnalysis->SetPbPb();
+    else {
+           if(IspPb()) fTaggedTrackAnalysis->SetpPb();
+           else fTaggedTrackAnalysis->SetPP();
+    }
+  }
   
   //printf("Will fill\n");
   //
@@ -1497,6 +1514,15 @@ void AliAnalysisTaskHFE::ProcessAOD(){
   for(Int_t itrack = 0; itrack < fAOD->GetNumberOfTracks(); itrack++){
     track = fAOD->GetTrack(itrack); mctrack = NULL;
     if(!track) continue;
+
+    // fill counts of v0-identified particles
+    AliPID::EParticleType v0pid = fV0Tagger->GetV0Info(track->GetID());
+    // here the tagged track analysis will run
+    if(fTaggedTrackAnalysis && v0pid != AliPID::kUnknown){ 
+      AliDebug(1, Form("Track identified as %s", AliPID::ParticleName(v0pid)));
+      fTaggedTrackAnalysis->ProcessTrack(track, v0pid);
+      AliDebug(1, "V0 PID done");
+    }
     
     signal = kTRUE;
     if(HasMCData()){
@@ -1516,6 +1542,15 @@ void AliAnalysisTaskHFE::ProcessAOD(){
       }
     }
 
+    // begin AOD QA
+    fQACollection->Fill("Filterbegin", -1);  
+    for(Int_t k=0; k<20; k++) {
+      Int_t u = 1<<k;
+      if((track->TestFilterBit(u))) {
+             fQACollection->Fill("Filterbegin", k);
+      }
+    }
+
     if(fApplyCutAOD) {
       //printf("Apply cuts\n");
       // RecKine: ITSTPC cuts  
@@ -1727,8 +1762,10 @@ Bool_t AliAnalysisTaskHFE::ProcessMCtrack(AliVParticle *track){
   if(!fPassTheEventCut) return kFALSE;
   fVarManager->FillContainer(fContainer, "MCTrackCont", AliHFEcuts::kStepMCGeneratedEventCut, kFALSE);
 
-  if(!fCFM->CheckParticleCuts(AliHFEcuts::kStepMCInAcceptance, track)) return kFALSE;
-  fVarManager->FillContainer(fContainer, "MCTrackCont", AliHFEcuts::kStepMCInAcceptance, kFALSE);
+  if(IsESDanalysis()){
+    if(!fCFM->CheckParticleCuts(AliHFEcuts::kStepMCInAcceptance, track)) return kFALSE;
+    fVarManager->FillContainer(fContainer, "MCTrackCont", AliHFEcuts::kStepMCInAcceptance, kFALSE);
+  }
   return kTRUE;
 }
 
index 503bee0eb1484e0e6f5c484a4cd05d2c9c51c9b5..b9d2588726f1e24208327773a0e8029b0e58b7b4 100644 (file)
@@ -30,6 +30,8 @@
 
 
 #include "AliLog.h"
+#include "AliAODEvent.h"
+#include "AliAODv0.h"
 #include "AliESDEvent.h"
 #include "AliESDv0.h"
 
@@ -44,7 +46,8 @@ AliHFEV0taginfo::AliHFEV0taginfo():
     TNamed(), 
     fIsAODana(NULL),
     fTaggedTracks(NULL),
-    fV0finder(NULL)
+    fV0finder(NULL),
+    fAODV0finder(NULL)
 {
     //
     // default constructor
@@ -55,7 +58,8 @@ AliHFEV0taginfo::AliHFEV0taginfo(const char* name):
     TNamed(name, ""), 
     fIsAODana(kFALSE),
     fTaggedTracks(NULL),
-    fV0finder(NULL)
+    fV0finder(NULL),
+    fAODV0finder(NULL)
 {
     //
     // constructor
@@ -66,6 +70,7 @@ AliHFEV0taginfo::AliHFEV0taginfo(const char* name):
         fTaggedTracks->SetOwner();
     }
     fV0finder = new AliESDv0KineCuts();
+    fAODV0finder = new AliAODv0KineCuts();
 }
 
 //__________________________________________________________________
@@ -73,7 +78,8 @@ AliHFEV0taginfo::AliHFEV0taginfo(const AliHFEV0taginfo &ref):
   TNamed(ref),
     fIsAODana(ref.fIsAODana),
     fTaggedTracks(NULL),
-    fV0finder(ref.fV0finder)
+    fV0finder(ref.fV0finder),
+    fAODV0finder(ref.fAODV0finder)
 {
   //
   // Copy constructor
@@ -109,6 +115,7 @@ AliHFEV0taginfo &AliHFEV0taginfo::operator=(const AliHFEV0taginfo &ref){
         fTaggedTracks->Add(new AliHFEV0tag(tmp->GetTrackID(),tmp->GetPinfo()));
     }
     fV0finder=ref.fV0finder;
+    fAODV0finder=ref.fAODV0finder;
     return *this;
 }
 //___________________________________________________________________
@@ -124,7 +131,7 @@ AliHFEV0taginfo::~AliHFEV0taginfo(){
 
 //________________________________________________________________________________
 // loops over V0s in event and fills fTaggedTracks with V0 tracks
-void AliHFEV0taginfo::TagV0Tracks(AliESDEvent *fEvent){
+void AliHFEV0taginfo::TagV0Tracks(AliVEvent *fEvent){
 
     if (!fEvent) return;
 
@@ -134,18 +141,38 @@ void AliHFEV0taginfo::TagV0Tracks(AliESDEvent *fEvent){
     const Int_t nV0s = fEvent->GetNumberOfV0s();
     if(nV0s < 1) return;
     AliDebug(3,Form("%d V0s found!",nV0s));
-
-    fV0finder->SetEvent(fEvent);
-
-    for(Int_t i=0; i<nV0s; ++i){
-        Int_t pdgP = 0;
-        Int_t pdgN = 0;
-        AliESDv0 *fV0 = fEvent->GetV0(i);
-        if(!fV0) continue;
-        if(fV0finder->ProcessV0(fV0,pdgP,pdgN)){
-            AliDebug(5,Form("V0 has: pos pdg: %d, neg pdg: %d",pdgP,pdgN));
-            AddTrack(fV0->GetPindex(),pdgP);
-            AddTrack(fV0->GetNindex(),pdgN);
+  
+    if(fEvent->IsA() == AliESDEvent::Class()){
+        AliDebug(4, "ESD part");
+        AliESDEvent *esdevent = static_cast<AliESDEvent *>(fEvent);
+        fV0finder->SetEvent(esdevent);
+
+        for(Int_t i=0; i<nV0s; ++i){
+            Int_t pdgP = 0;
+            Int_t pdgN = 0;
+            AliESDv0 *fV0 = esdevent->GetV0(i);
+            if(!fV0) continue;
+            if(fV0finder->ProcessV0(fV0,pdgP,pdgN)){
+                AliDebug(5,Form("V0 has: pos pdg: %d, neg pdg: %d",pdgP,pdgN));
+                AddTrack(fV0->GetPindex(),pdgP);
+                AddTrack(fV0->GetNindex(),pdgN);
+            }
+        }
+    } else if(fEvent->IsA() == AliAODEvent::Class()){
+        AliDebug(4,"AOD part");
+        AliAODEvent *aodevent = static_cast<AliAODEvent *>(fEvent);
+        fAODV0finder->SetEvent(aodevent);
+
+        for(Int_t i=0; i<nV0s; ++i){
+            Int_t pdgP = 0;
+            Int_t pdgN = 0;
+            AliAODv0 *fV0 = aodevent->GetV0(i);
+            if(!fV0) continue;
+            if(fAODV0finder->ProcessV0(fV0,pdgP,pdgN)){
+                AliDebug(5,Form("V0 has: pos pdg: %d, neg pdg: %d",pdgP,pdgN));
+                AddTrack(fV0->GetPosID(),pdgP);
+                AddTrack(fV0->GetNegID(),pdgN);
+            }
         }
     }
 }
index d8ceed73e3c55a9dea1157a16cdb08dec1b3f7bf..bfa5b97d065f9d3720b8b5483a71a9c945501ea7 100644 (file)
@@ -23,6 +23,9 @@
 
 #include "AliPID.h"
 #include "AliESDv0KineCuts.h"
+#include "AliAODv0KineCuts.h"
+
+class AliVEvent;
 
 class AliHFEV0taginfo: public TNamed{
 
@@ -35,7 +38,7 @@ class AliHFEV0taginfo: public TNamed{
         virtual ~AliHFEV0taginfo();
 
         void Reset(); //resets the fTaggedTracks TList
-        void TagV0Tracks(AliESDEvent *event); // loops over V0s in event and fills fTaggedTracks with V0 tracks
+        void TagV0Tracks(AliVEvent *event); // loops over V0s in event and fills fTaggedTracks with V0 tracks
         AliPID::EParticleType GetV0Info(Int_t trackID); //check for V0 information from track ID 
         void SetIsAODana() { fIsAODana = kTRUE; } // Setter AOD analysis
         void SetIsESDana() { fIsAODana = kFALSE; } // Setter ESD analysis
@@ -69,6 +72,7 @@ class AliHFEV0taginfo: public TNamed{
         Bool_t fIsAODana;
         TList *fTaggedTracks;
         AliESDv0KineCuts *fV0finder;
+        AliAODv0KineCuts *fAODV0finder;
 
         ClassDef(AliHFEV0taginfo,1)
 };
index bb661a960d387668730c303b66a7819cb0c45d04..ee9d51516c04aa688a779958dda4327c066a5057 100644 (file)
@@ -215,8 +215,8 @@ void AliHFEtaggedTrackAnalysis::ProcessTrack(AliVTrack *track, Int_t abinitioPID
       
       const AliExternalTrackParam *trueparam = NULL;
       if(esdtrackc->GetOuterParam()) {
-       trueparam = esdtrackc->GetOuterParam();
-       fVarManager->NewTrack((AliVParticle *)trueparam, NULL, fCentralityF, abinitioPID, kTRUE);
+             trueparam = esdtrackc->GetOuterParam();
+             fVarManager->NewTrack((AliVParticle *)trueparam, NULL, fCentralityF, abinitioPID, kTRUE);
       }
       else return;
     }
@@ -277,15 +277,17 @@ void AliHFEtaggedTrackAnalysis::ProcessTrack(AliVTrack *track, Int_t abinitioPID
      AliDebug(2, "Use track in the PID");
      // Apply PID
      AliHFEpidObject hfetrack;
-     hfetrack.SetAnalysisType(AliHFEpidObject::kESDanalysis);
+     if(track->IsA() == AliESDtrack::Class())
+      hfetrack.SetAnalysisType(AliHFEpidObject::kESDanalysis);
+     else
+      hfetrack.SetAnalysisType(AliHFEpidObject::kAODanalysis);
      hfetrack.SetRecTrack(track);
      hfetrack.SetAbInitioPID(abinitioPID);
      hfetrack.SetCentrality(fCentralityF);
      if(fIsPbPb) hfetrack.SetPbPb();
-     else
-     {
-        if(fIspPb) hfetrack.SetpPb();
-        else hfetrack.SetPP();
+     else{
+      if(fIspPb) hfetrack.SetpPb();
+           else hfetrack.SetPP();
      }
      fPID->SetVarManager(fVarManager);
      fPID->IsSelected(&hfetrack, fContainer, "taggedTrackContainer", fPIDqa);
index 1467bfb96414d6d79c7e3bba60259dbc135f33be..bee0ad5dc383004a3604656e2f7ec4904545c1ff 100644 (file)
@@ -8,7 +8,7 @@ AliAnalysisTaskHFE* ConfigHFEmbpPb(Bool_t useMC, Bool_t isAOD, UChar_t TPCcl=70,
   // HFE task configuration PID2 (TOF-TPC only!)
   //
 
-  Bool_t kAnalyseTaggedTracks = isAOD ? kFALSE : kTRUE;
+  Bool_t kAnalyseTaggedTracks = kTRUE;
   
   Int_t iDCAxy = (Int_t)(DCAxy*10.);
   Int_t iDCAz = (Int_t)(DCAz*10.);
index 995faa3012afa985334ab872fe46afd2e81b5d57..5cb282fe642f098946b6a4809ccb77f85151e259 100644 (file)
@@ -9,7 +9,7 @@ AliAnalysisTaskHFE* ConfigHFEmbpPbTRD(Bool_t useMC, Bool_t isAOD, TString append
   // HFE task configuration PID2 (TOF-TPC-TRD)
   //
 //  AliLog::SetClassDebugLevel("AliHFEpidTRD", 10);
-  Bool_t kAnalyseTaggedTracks = isAOD ? kFALSE : kTRUE;
+  Bool_t kAnalyseTaggedTracks = kTRUE;
 
 
   // TRD settings
index 6ea1cf9d2fddeff9f74b50e2159d3264251478f9..089673da0f63e2adf9ade5432d719cf72be62499 100644 (file)
@@ -30,7 +30,7 @@ AliAnalysisTaskHFE* ConfigHFEnpepPb(Bool_t useMC, Bool_t isAOD, TString appendix
                 Double_t *assTPCSminus=NULL, Double_t *assTPCSplus=NULL, 
                 Bool_t useCat1Tracks = kTRUE, Bool_t useCat2Tracks = kTRUE)
 {
-  Bool_t kAnalyseTaggedTracks = isAOD ? kFALSE : kTRUE;
+  Bool_t kAnalyseTaggedTracks = kTRUE;
 
   //***************************************//
   //        Setting up the HFE cuts        //
index a9af1f61b623267f464f833a97693cebc45f404e..15fbc938472776d8d3fc86d9ae7d118fab3dfa48 100644 (file)
@@ -24,7 +24,7 @@ AliAnalysisTaskHFE* ConfigHFEpPb(Bool_t useMC, Bool_t isAOD, TString appendix,
                                 Int_t itshitpixel = 0, Int_t icent=1,
                                 Double_t etami=-0.8, Double_t etama=0.8){
   
-  Bool_t kAnalyseTaggedTracks = isAOD ? kFALSE : kTRUE;
+  Bool_t kAnalyseTaggedTracks = kTRUE;
 
   //***************************************//
   //        Setting up the HFE cuts        //
index c3b4f2cda3920b8d2058cc4c52bd3d8dddcfb9de..0e02d7c075b34e20c626a007c96ea6714d8d5c02 100644 (file)
@@ -31,7 +31,7 @@ AliAnalysisTaskHFE* ConfigHFEpPbTRD(Bool_t useMC, Bool_t isAOD, TString appendix
                                 Int_t TRDtrigger=1, Int_t TRDtl=6, Int_t TRDeff=4,
                                 TString detector){
   
-    Bool_t kAnalyseTaggedTracks = isAOD ? kFALSE : kTRUE;
+    Bool_t kAnalyseTaggedTracks = kTRUE;
 
     // TRD settings
     Float_t eeff[6] = {0.7, 0.75, 0.8, 0.85, 0.9, 0.95};