]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Modified new TOF QA task and macro to include various sets of track cuts + minor...
authorfbellini <fbellini@cern.ch>
Thu, 17 Jul 2014 11:26:06 +0000 (13:26 +0200)
committerfbellini <fbellini@cern.ch>
Thu, 17 Jul 2014 13:01:09 +0000 (15:01 +0200)
AddTaskTOFQA macro modified to include selection of trigger mask and track cuts.

PWGPP/TOF/AddTaskTOFQA.C
PWGPP/TOF/AddTaskTOFqaID.C
PWGPP/TOF/AliAnalysisTaskTOFqaID.cxx
PWGPP/TOF/AliAnalysisTaskTOFqaID.h

index b774bdf1a026de8d3566e5ae2506a811d53039bb..cdb3d15c2fc783f65725235d7f624570f349dc52 100644 (file)
@@ -1,7 +1,10 @@
 /*  created by fbellini@cern.ch on 14/09/2010 */
 /*  last modified by fbellini   on 11/11/2011 */
 
-AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE) 
+AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE, 
+                                UInt_t triggerMask = AliVEvent::kAnyINT,
+                                Int_t trackCutSetTOFqa = 0,
+                                TString cutName = "") 
 {
   // Task for checking TOF QA
  
@@ -21,50 +24,47 @@ AliAnalysisTaskSE * AddTaskTOFQA(Bool_t flagEnableAdvancedCheck=kFALSE)
   // Create the task
   AliAnalysisTaskTOFqa *task = new AliAnalysisTaskTOFqa("taskTOFqa");
   task->EnableAdvancedCheck(flagEnableAdvancedCheck);
+  task->SelectCollisionCandidates(triggerMask);
   //AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqa",1);
   mgr->AddTask(task);
 
   /* cuts used for QA in 2010 p-p */
-  /*
-  AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010");
-  esdTrackCutsLoose2010->SetMinNClustersTPC(70); 
-  esdTrackCutsLoose2010->SetMaxChi2PerClusterTPC(3.5); 
-  esdTrackCutsLoose2010->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
-  esdTrackCutsLoose2010->SetRequireTPCRefit(kTRUE);
-  esdTrackCutsLoose2010->SetMaxDCAToVertexXY(3.0); 
-  esdTrackCutsLoose2010->SetMaxDCAToVertexZ(3.0); 
-  esdTrackCutsLoose2010->SetRequireSigmaToVertex(kTRUE); 
-  esdTrackCutsLoose2010->SetAcceptKinkDaughters(kFALSE); 
-  esdTrackCutsLoose2010->SetMaxNsigmaToVertex(4.0);
-  */
-  /* standard cuts ITS-TPC 2010 */
-  AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010");
-  // TPC  
-  esdTrackCutsStd2010->SetMinNClustersTPC(70); 
-  esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4);
-  esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE); 
-  esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE);
-  // ITS
-  esdTrackCutsStd2010->SetRequireITSRefit(kTRUE);
-  esdTrackCutsStd2010->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
-                                        AliESDtrackCuts::kAny);
-  esdTrackCutsStd2010->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
-  esdTrackCutsStd2010->SetMaxDCAToVertexZ(2);
-  esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE);
-  esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE);
-
+    //Define track cut set
+  AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "TrackCutsTOFqa"); 
   AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
-  trackFilter->AddCuts(esdTrackCutsStd2010);
-  task->SetTrackFilter(trackFilter);
-   
+
+  if ( (trackCutSetTOFqa<0) || (trackCutSetTOFqa>=AliAnalysisTaskTOFqaID::kNCutSetTOFqa) ) trackCutSetTOFqa = 0;
+
+  if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kRun1Cuts ) {
+    //use track cuts used for QA during run1 (before July 2014)
+    esdTrackCuts->SetMinNClustersTPC(70); 
+    esdTrackCuts->SetMaxChi2PerClusterTPC(4);
+    esdTrackCuts->SetAcceptKinkDaughters(kFALSE); 
+    esdTrackCuts->SetRequireTPCRefit(kTRUE);
+    esdTrackCuts->SetRequireITSRefit(kTRUE);
+    esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                          AliESDtrackCuts::kAny);
+    esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
+    esdTrackCuts->SetMaxDCAToVertexZ(2);
+    esdTrackCuts->SetDCAToVertex2D(kFALSE);
+    esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+  } else {
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010 ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,0);
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,1);
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,0); 
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,1);
+  }
+  
+  trackFilter->AddCuts(esdTrackCuts);
+  task->SetTrackFilter(trackFilter); 
   
   // Create containers for input/output
   AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
-  AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer("cGeneralTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
-  AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer("cTimeZeroTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
-   AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer("cPIDTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
-   AliAnalysisDataContainer *cPosTracksTOFqa = mgr->CreateContainer("cPosTracksTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
-   AliAnalysisDataContainer *cNegTracksTOFqa = mgr->CreateContainer("cNegTracksTOFqa",TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+  AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("cGeneralTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+  AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("cTimeZeroTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+  AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("cPIDTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+  AliAnalysisDataContainer *cPosTracksTOFqa = mgr->CreateContainer(Form("cPosTracksTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
+  AliAnalysisDataContainer *cNegTracksTOFqa = mgr->CreateContainer(Form("cNegTracksTOFqa%s",cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName()));
 
   // Attach i/o
   mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
index aa1f6971aff2f73183b243e62cbecca02711de1b..0fe01043ebeed6971a3f355a69afa1d6df56008a 100644 (file)
@@ -5,12 +5,13 @@
 // UInt_t kTriggerMuonBarell = AliVEvent::kMUU7;
 // UInt_t kTriggerEMC   = AliVEvent::kEMC7;
 // UInt_t kTriggerHM   = AliVEvent::kHighMult;
-UInt_t kTriggerInt = AliVEvent::kAnyINT;
-UInt_t kTriggerMask = kTriggerInt;
+// UInt_t kTriggerInt = AliVEvent::kAnyINT;
+// UInt_t kTriggerMask = kTriggerInt;
 
-AliAnalysisTaskSE * AddTaskTOFqaID(UInt_t triggerMask = kTriggerMask, 
-                                  Bool_t flagEnableAdvancedCheck=kFALSE, 
-                                  Bool_t useStdCuts2011 = kTRUE, 
+AliAnalysisTaskSE * AddTaskTOFqaID(Bool_t flagEnableAdvancedCheck=kFALSE, 
+                                  UInt_t triggerMask = AliVEvent::kAnyINT, 
+                                  Int_t trackCutSetTOFqa = 0, 
+                                  TString cutName = "",
                                   Bool_t isMC = kFALSE, 
                                   Short_t absPdgCode = 0) 
 {
@@ -41,61 +42,47 @@ AliAnalysisTaskSE * AddTaskTOFqaID(UInt_t triggerMask = kTriggerMask,
   //AliLog::SetClassDebugLevel("AliAnalysisTaskTOFqaID",4);
   mgr->AddTask(task);
 
-  /* cuts used for QA in 2010 p-p */
-  /*
-  AliESDtrackCuts* esdTrackCutsLoose2010 = new AliESDtrackCuts("AliESDtrackCuts", "esdTrackCutsLoose2010");
-  esdTrackCutsLoose2010->SetMinNClustersTPC(70); 
-  esdTrackCutsLoose2010->SetMaxChi2PerClusterTPC(3.5); 
-  esdTrackCutsLoose2010->SetMaxCovDiagonalElements(2, 2, 0.5, 0.5, 2);
-  esdTrackCutsLoose2010->SetRequireTPCRefit(kTRUE);
-  esdTrackCutsLoose2010->SetMaxDCAToVertexXY(3.0); 
-  esdTrackCutsLoose2010->SetMaxDCAToVertexZ(3.0); 
-  esdTrackCutsLoose2010->SetRequireSigmaToVertex(kTRUE); 
-  esdTrackCutsLoose2010->SetAcceptKinkDaughters(kFALSE); 
-  esdTrackCutsLoose2010->SetMaxNsigmaToVertex(4.0);
-  */
+  //Define track cut set
+  AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts", "TrackCutsTOFqa"); 
+  AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
+  
+  if ( (trackCutSetTOFqa<0) || (trackCutSetTOFqa>=AliAnalysisTaskTOFqaID::kNCutSetTOFqa) ) trackCutSetTOFqa = 0;
 
-  /* standard cuts ITS-TPC 2010 */
-  AliESDtrackCuts* esdTrackCutsStd2010 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2010");
-  esdTrackCutsStd2010->GetStandardITSTPCTrackCuts2010(kTRUE,0);
-  // TPC  
-  // esdTrackCutsStd2010->SetMinNClustersTPC(70); 
-  // esdTrackCutsStd2010->SetMaxChi2PerClusterTPC(4);
-  // esdTrackCutsStd2010->SetAcceptKinkDaughters(kFALSE); 
-  // esdTrackCutsStd2010->SetRequireTPCRefit(kTRUE);
-  // // ITS
-  // esdTrackCutsStd2010->SetRequireITSRefit(kTRUE);
-  // esdTrackCutsStd2010->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
-  //                                           AliESDtrackCuts::kAny);
-  // esdTrackCutsStd2010->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
-  // esdTrackCutsStd2010->SetMaxDCAToVertexZ(2);
-  // esdTrackCutsStd2010->SetDCAToVertex2D(kFALSE);
-  // esdTrackCutsStd2010->SetRequireSigmaToVertex(kFALSE);
+  if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kRun1Cuts ) {
+    //use track cuts used for QA during run1 (before July 2014)
+    esdTrackCuts->SetMinNClustersTPC(70); 
+    esdTrackCuts->SetMaxChi2PerClusterTPC(4);
+    esdTrackCuts->SetAcceptKinkDaughters(kFALSE); 
+    esdTrackCuts->SetRequireTPCRefit(kTRUE);
+    esdTrackCuts->SetRequireITSRefit(kTRUE);
+    esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
+                                          AliESDtrackCuts::kAny);
+    esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");//selects primaries
+    esdTrackCuts->SetMaxDCAToVertexZ(2);
+    esdTrackCuts->SetDCAToVertex2D(kFALSE);
+    esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
+  } else {
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010 ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,0);
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2010crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2010(kTRUE,1);
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,0); 
+    if ( trackCutSetTOFqa == AliAnalysisTaskTOFqaID::kStd2011crossedRows ) esdTrackCuts->GetStandardITSTPCTrackCuts2011(kTRUE,1);
+  }
 
-  /* standard cuts ITS-TPC 2011 */
-  AliESDtrackCuts* esdTrackCutsStd2011 = new AliESDtrackCuts("AliESDtrackCuts", "Standard2011");
-  esdTrackCutsStd2011->GetStandardITSTPCTrackCuts2011(kTRUE,0);
-  
-  AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
-  if (useStdCuts2011) 
-    trackFilter->AddCuts(esdTrackCutsStd2011);
-  else
-    trackFilter->AddCuts(esdTrackCutsStd2010);
-  task->SetTrackFilter(trackFilter);
+  trackFilter->AddCuts(esdTrackCuts);
+  task->SetTrackFilter(trackFilter); 
   
   TString partName(task->GetSpeciesName(absPdgCode));
-  
   // Create containers for input/output
-  AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa",TChain::Class(),AliAnalysisManager::kInputContainer);
-  AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("base_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(), partName.Data()));
-  AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("timeZero_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
-   AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("pid_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
-   AliAnalysisDataContainer *cTRDcheckTOFqa = mgr->CreateContainer(Form("trd_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
-   AliAnalysisDataContainer *cTriggerTOFqa = mgr->CreateContainer(Form("trigger_%s",partName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF_Performance",mgr->GetCommonFileName(),partName.Data()));
+  AliAnalysisDataContainer *cInputTOFqa = mgr->CreateContainer("cInputTOFqa", TChain::Class(),AliAnalysisManager::kInputContainer);
+  AliAnalysisDataContainer *cGeneralTOFqa = mgr->CreateContainer(Form("base_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(), partName.Data()));
+  AliAnalysisDataContainer *cTimeZeroTOFqa = mgr->CreateContainer(Form("timeZero_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
+   AliAnalysisDataContainer *cPIDTOFqa = mgr->CreateContainer(Form("pid_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
+   AliAnalysisDataContainer *cTRDcheckTOFqa = mgr->CreateContainer(Form("trd_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
+   AliAnalysisDataContainer *cTriggerTOFqa = mgr->CreateContainer(Form("trigger_%s%s",partName.Data(),cutName.Data()),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:TOF",mgr->GetCommonFileName(),partName.Data()));
 
   // Attach i/o
-  mgr->ConnectInput(task, 0,mgr->GetCommonInputContainer());
+  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput(task, 1, cGeneralTOFqa);
   mgr->ConnectOutput(task, 2, cTimeZeroTOFqa);
   mgr->ConnectOutput(task, 3, cPIDTOFqa);
index 7f2970b12cd2ab65e8d529935589a33d095fe56f..0f4fc909a4e31b1e34e1f7e29e646cf551b10536 100644 (file)
@@ -301,7 +301,7 @@ void AliAnalysisTaskTOFqaID::UserCreateOutputObjects()
   //pid response object
   fESDpid=(AliESDpid*)inputHandler->GetPIDResponse();
   if (!fESDpid) AliError("PIDResponse object was not created");
-  //  fESDpid->SetOADBPath("$ALICE_ROOT/OADB");
+  //fESDpid->SetOADBPath("$ALICE_ROOT/OADB");
 
   Info("CreateOutputObjects","CreateOutputObjects (TList) of task %s", GetName());
   OpenFile(1);
@@ -427,6 +427,12 @@ void AliAnalysisTaskTOFqaID::UserExec(Option_t *)
   
   Printf("Momentum cut for eta and phi distributions set: Pt>%3.2f", fMatchingMomCut);
 
+  //check existence of track filter
+  if (!fTrackFilter){
+    Printf("No track filter found, skipping the track loop");
+    return;
+  }
+  
   // loop over ESD tracks
   for (Int_t iTracks = 0; iTracks < fESD->GetNumberOfTracks(); iTracks++) {
     AliESDtrack* track = fESD->GetTrack(iTracks);
@@ -436,12 +442,7 @@ void AliAnalysisTaskTOFqaID::UserExec(Option_t *)
     }
     
     //primary tracks selection: kTPCrefit and std cuts
-    if (fTrackFilter){
-      if(!fTrackFilter->IsSelected(track)) continue;
-    } else {
-      Printf("No track filter found, skipping the track loop");
-      return;
-    }
+    if (!fTrackFilter->IsSelected(track)) continue;
     
     //select specie if MC
     if ( fIsMC && 
@@ -464,7 +465,9 @@ void AliAnalysisTaskTOFqaID::UserExec(Option_t *)
     
     Int_t charge = track->Charge();
     
+    //Fill histograms for primary particles
     FillPrimaryTrkHisto(charge,"");
+
     if (IsTPCTOFMatched(track)) {     
       fTof=track->GetTOFsignal()*1E-3;//in ps
       //increment track counters
@@ -842,19 +845,19 @@ void AliAnalysisTaskTOFqaID::AddTofBaseHisto(TList *list, Int_t charge, TString
   list->AddLast(hMatchedL);
      
   TH2F* hMatchedDxVsPt = new TH2F(Form("hMatchedDxVsPt%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dx vs.p_{T}", cLabel.Data()), 1000,0.,10.,200, -10., 10.) ; 
-  HistogramMakeUp(hMatchedDxVsPt,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "GeV/c (p_{T})","dx (cm)");
+  HistogramMakeUp(hMatchedDxVsPt,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "p_{T} (GeV/c)","dx (cm)");
   list->AddLast(hMatchedDxVsPt); 
 
   TH2F* hMatchedDzVsStrip = new TH2F(Form("hMatchedDzVsStrip%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dz vs. strip (#eta)", cLabel.Data()), 92,0.,92.,200, -10., 10.) ; 
-  HistogramMakeUp(hMatchedDzVsStrip,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "strip","dz (cm)");
+  HistogramMakeUp(hMatchedDzVsStrip,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "strip index","dz (cm)");
   list->AddLast(hMatchedDzVsStrip) ; 
 
   TProfile *hMatchedDxVsCh = new TProfile(Form("hMatchedDxVsCh%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dx vs. channel", cLabel.Data()), 157248., 0.,157248.);
-  HistogramMakeUp(hMatchedDxVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel","dx (cm)");
+  HistogramMakeUp(hMatchedDxVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel index","dx (cm)");
   list->AddLast(hMatchedDxVsCh);
    
   TProfile *hMatchedDzVsCh = new TProfile(Form("hMatchedDzVsCh%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dz vs. channel", cLabel.Data()), 157248., 0.,157248.);
-  HistogramMakeUp(hMatchedDzVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel","dz (cm)");
+  HistogramMakeUp(hMatchedDzVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel index","dz (cm)");
   list->AddLast(hMatchedDzVsCh);    
 
   return;
@@ -943,9 +946,10 @@ void  AliAnalysisTaskTOFqaID::AddPidHisto(TList *list, Int_t charge, TString suf
   HistogramMakeUp(hExpTimePiT0Sub1GeV,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","","n. tracks used for t_{0}^{TOF}","t_{TOF}-t_{#pi,exp}-t_{0}^{TOF}");    
   list->AddLast(hExpTimePiT0Sub1GeV) ;
 
-  TH1F* hExpTimePiFillSub = new TH1F(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data()), "%s trk t_{TOF}-t_{#pi,exp}-t_{0,fill}; t_{TOF}-t_{#pi,exp} -_{0,fill} [ps];entries", fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ; 
+  TH1F* hExpTimePiFillSub = new TH1F(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk t_{TOF}-t_{#pi,exp}-t_{0,fill}",cLabel.Data()), fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ; 
+  HistogramMakeUp(hExpTimePiFillSub,((charge>0)? kRed+2 : kBlue+2), 1, "", "","","t_{TOF}-t_{#pi,exp} -t_{0,fill} [ps]","entries");    
   list->AddLast(hExpTimePiFillSub) ;
-
+  
   TH1F* hExpTimePi = new TH1F(Form("hExpTimePi%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{#pi,exp}",cLabel.Data()), fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ; 
   HistogramMakeUp(hExpTimePi,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "t_{TOF}-t_{#pi,exp} [ps]","tracks");
   list->AddLast(hExpTimePi);
@@ -1143,7 +1147,7 @@ void AliAnalysisTaskTOFqaID::AddTofTrgHisto(TString suffix)
   HistogramMakeUp(hFiredMaxipadVsTrgPad, kBlue+2, 1, "colz", "","", "N_{pad} in trg window","N_{maxipad}");
   fHlistTrigger->AddLast(hFiredMaxipadVsTrgPad);
   
-  TH2I* hTrgMap = new TH2I(Form("hTrgMap%s",suffix.Data()), Form("Map of fired maxipads"), 72, 0, 72, 22, 0, 22);  
+  TH2I* hTrgMap = new TH2I(Form("hTrgMap%s",suffix.Data()), Form("Map of fired maxipads"), 72, 0, 72, 23, 0, 23);  
   HistogramMakeUp(hTrgMap, kBlue+2, 1, "colz", "","", "LTM","maxipad");
   fHlistTrigger->AddLast(hTrgMap);
   
@@ -1186,18 +1190,18 @@ void AliAnalysisTaskTOFqaID::FillPrimaryTrkHisto(Int_t charge, TString suffix)
   if (suffix.Contains("Trd")) {
     ((TH1F*)fHlistTRD->FindObject(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP); 
     ((TH1F*)fHlistTRD->FindObject(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt); 
+    ((TH2F*)fHlistTRD->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
     if (fPt>=fMatchingMomCut) {
       ((TH1F*)fHlistTRD->FindObject(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
       ((TH1F*)fHlistTRD->FindObject(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
-      ((TH2F*)fHlistTRD->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
     }
   } else {
     ((TH1F*)fHlist->FindObject(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP); 
     ((TH1F*)fHlist->FindObject(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt); 
+    ((TH2F*)fHlist->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt); 
     if (fPt>=fMatchingMomCut) {
       ((TH1F*)fHlist->FindObject(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
       ((TH1F*)fHlist->FindObject(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
-      ((TH2F*)fHlist->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt); 
     }
   }
   return;
@@ -1217,18 +1221,18 @@ void AliAnalysisTaskTOFqaID::FillMatchedTrkHisto(Int_t charge, TString suffix)
   if (suffix.Contains("Trd")) { 
     ((TH1F*)fHlistTRD->FindObject(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP); 
     ((TH1F*)fHlistTRD->FindObject(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt); 
+    ((TH2F*)fHlistTRD->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
     if (fPt>=fMatchingMomCut) {
       ((TH1F*)fHlistTRD->FindObject(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
       ((TH1F*)fHlistTRD->FindObject(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
-      ((TH2F*)fHlistTRD->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
     }
   } else {
     ((TH1F*)fHlist->FindObject(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP); 
     ((TH1F*)fHlist->FindObject(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt); 
+    ((TH2F*)fHlist->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
     if (fPt>=fMatchingMomCut) {
       ((TH1F*)fHlist->FindObject(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
       ((TH1F*)fHlist->FindObject(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
-      ((TH2F*)fHlist->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
     }
   }
   return;
index 766519ca801e75d8cd3345021d400bb49a7af7e2..92b10dc4ca2f1139e9398d7facf64c833480c92e 100644 (file)
@@ -14,6 +14,14 @@ class AliTOFHeader;
 
 class AliAnalysisTaskTOFqaID : public AliAnalysisTaskSE {
  public:
+  
+  enum ETrackCutSetTOFqa_t { kRun1Cuts = 0,
+                          kStd2010,
+                          kStd2010crossedRows,
+                          kStd2011,
+                          kStd2011crossedRows,
+                          kNCutSetTOFqa };
+
   AliAnalysisTaskTOFqaID();
   AliAnalysisTaskTOFqaID(const char *name);
   AliAnalysisTaskTOFqaID(const AliAnalysisTaskTOFqaID& copy);