]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added ITS,TPC nclusters and chi2 variables to daughter particle (M. Vala)
authorfbellini <fbellini@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Oct 2012 10:49:15 +0000 (10:49 +0000)
committerfbellini <fbellini@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 2 Oct 2012 10:49:15 +0000 (10:49 +0000)
PWGLF/RESONANCES/AliRsnCutSetDaughterParticle.h
PWGLF/RESONANCES/AliRsnValueDaughter.cxx
PWGLF/RESONANCES/AliRsnValueDaughter.h
PWGLF/RESONANCES/macros/lego_train/AddRsnAnalysisTask.C
PWGLF/RESONANCES/macros/lego_train/AddRsnPairsPhi.C
PWGLF/RESONANCES/macros/lego_train/AddRsnToManagerKStar.C
PWGLF/RESONANCES/macros/lego_train/RsnConfig.C
PWGLF/RESONANCES/macros/lego_train/RsnManager.C

index 8465eb4f14b2ba861174e58e533089fb07e9565c..c044baf44e2123c48427b2cf4293c47d6742513b 100644 (file)
@@ -49,7 +49,7 @@ public:
    void           SetAODTrackCutFilterBit(Int_t ibit){fAODTrkCutFilterBit=ibit; return;}
    //getters
    const char *  GetAppliedDaughterCutSetName() { return GetName();}
-   Int_t   GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
+   const Int_t   GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
    const AliRsnCutTrackQuality * GetQualityCut() {return fCutQuality;};
 
 private:
index 233b3b75b4fc1f4688f266e1b3b09174bcfd1e31..6451dbc21918e411a7670da3c40dc0f7aaa30635 100644 (file)
@@ -259,6 +259,64 @@ Bool_t AliRsnValueDaughter::Eval(TObject *object)
             fComputedValue = 0.0;
             return kFALSE;
          }
+      case kNITSclusters:
+         if (track) {
+               AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+               if (trackESD) {
+                       fComputedValue =  trackESD->GetITSclusters(0);
+               } else {
+                       fComputedValue =  ((AliAODTrack*)track)->GetITSNcls();
+               }
+            return kTRUE;
+         } else {
+            AliWarning("Cannot get n ITS clusters for non-track object");
+            fComputedValue = 0.0;
+            return kFALSE;
+         }
+      case kNTPCclusters:
+         if (track) {
+               AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+               if (trackESD) {
+                       fComputedValue =  trackESD->GetTPCclusters(0);
+               } else {
+                       fComputedValue =  ((AliAODTrack*)track)->GetTPCNcls();
+               }
+            return kTRUE;
+         } else {
+            AliWarning("Cannot get n TPC clusters for non-track object");
+            fComputedValue = 0.0;
+            return kFALSE;
+         }
+      case kITSchi2:
+         if (track) {
+               AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+               if (trackESD) {
+                       UShort_t nClustersTPC = trackESD->GetITSclusters(0);
+                       fComputedValue =  trackESD->GetITSchi2()/Float_t(nClustersTPC);
+               } else {
+                       fComputedValue = ((AliAODTrack*)track)->Chi2perNDF();
+               }
+            return kTRUE;
+         } else {
+            AliWarning("Cannot get ITS chi^2 for non-track object");
+            fComputedValue = 0.0;
+            return kFALSE;
+         }
+      case kTPCchi2:
+         if (track) {
+               AliESDtrack *trackESD = dynamic_cast<AliESDtrack*>(track);
+               if (trackESD) {
+                       UShort_t nClustersTPC = trackESD->GetTPCclusters(0);
+                       fComputedValue =  trackESD->GetTPCchi2()/Float_t(nClustersTPC);
+               } else {
+                       fComputedValue = ((AliAODTrack*)track)->Chi2perNDF();
+               }
+            return kTRUE;
+         } else {
+            AliWarning("Cannot get TPC chi^2 for non-track object");
+            fComputedValue = 0.0;
+            return kFALSE;
+         }
       default:
          AliError(Form("[%s] Invalid value type for this computation", GetName()));
          return kFALSE;
index e2f5c4cd795cb917c0cd30d561996b09a7e92f67..439dceef6ce8f8540a11501c09dd433d6373be1e 100644 (file)
@@ -29,6 +29,10 @@ public:
       kTOFnsigmaPi,// TOF number of sigmas pion
       kTOFnsigmaK, // TOF number of sigmas kaon
       kTOFnsigmaP, // TOF number of sigmas proton
+      kNITSclusters,  // n ITS clusters
+      kNTPCclusters,  // n TPC clusters
+      kITSchi2,    // ITS chi^2
+      kTPCchi2,    // TPC chi^2
       kTypes
    };
 
index 0cdd6d3387294013d0543ab8c45cadb1af0181c3..0197a90617e6597de739f8ef7046d81643573b32 100644 (file)
@@ -29,7 +29,7 @@ AliAnalysisTaskSE *AddRsnAnalysisTask(TString format = "esd", Bool_t useMC = kFA
       task = (AliAnalysisTaskSE *) taskRsn;
    }
 
-   if (isPhysSel) task->SelectCollisionCandidates(AliVEvent::kMB);
+   if (isPhysSel>=0) task->SelectCollisionCandidates((AliVEvent::EOfflineTriggerTypes)isPhysSel);
 
    // TODO this is tmp hack
    if (!rsnIH) rsnIH = new AliRsnInputHandler();
index a1b726d70081c69d3ab85f0d7b5a6bf56a3e2c72..b4f9adb81312a54ff9c64f559f44091d4270c843 100644 (file)
@@ -39,12 +39,13 @@ void AddPairOutputPhi(AliRsnLoopPair *pair)
    Bool_t valid;
    Int_t isFullOutput = AliAnalysisManager::GetGlobalInt("rsnOutputFull",valid);
    Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
-
+   Int_t useRapidity = AliAnalysisManager::GetGlobalInt("rsnUseRapidity",valid);
 
    // axes
    AliRsnValuePair *axisIM = new AliRsnValuePair("IM", AliRsnValuePair::kInvMass);
    AliRsnValuePair *axisPt = new AliRsnValuePair("PT", AliRsnValuePair::kPt);
    AliRsnValuePair *axisEta = new AliRsnValuePair("ETA", AliRsnValuePair::kEta);
+   AliRsnValuePair *axisRapidity = new AliRsnValuePair("Y", AliRsnValuePair::kY);
 
    AliRsnValueEvent *axisCentrality = 0;
    if (!isPP) axisCentrality = new AliRsnValueEvent("MULTI",AliRsnValueEvent::kCentralityV0);
@@ -54,7 +55,7 @@ void AddPairOutputPhi(AliRsnLoopPair *pair)
    axisPt     ->SetBins(120, 0.0, 12.0);
 //    axisEta    ->SetBins(400, -2.0, 2.0);
    axisEta    ->SetBins(400, -0.5, 0.5);
-
+   axisRapidity    ->SetBins(10, -0.5, 0.5);
 
    if (axisCentrality) axisCentrality->SetBins(20,0,100);
 
@@ -67,7 +68,8 @@ void AddPairOutputPhi(AliRsnLoopPair *pair)
       outPair = new AliRsnListOutput("pair", AliRsnListOutput::kHistoSparse);
       outPair->AddValue(axisIM);
       outPair->AddValue(axisPt);
-      outPair->AddValue(axisEta);
+      if (useRapidity) outPair->AddValue(axisRapidity);
+      else outPair->AddValue(axisEta);
       if (axisCentrality) outPair->AddValue(axisCentrality);
    }
    // add outputs to loop
@@ -81,6 +83,8 @@ void AddPairOutputMiniPhi(AliAnalysisTaskSE *task, Bool_t isMC,Bool_t isMixing,
    Int_t useMixing = AliAnalysisManager::GetGlobalInt("rsnUseMixing",valid);
    Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
 
+   Int_t useRapidity = AliAnalysisManager::GetGlobalInt("rsnUseRapidity",valid);
+
    AliRsnMiniAnalysisTask *taskRsnMini =  (AliRsnMiniAnalysisTask *)task;
 
    if (isPP) taskRsnMini->UseMultiplicity("QUALITY");
@@ -102,7 +106,6 @@ void AddPairOutputMiniPhi(AliAnalysisTaskSE *task, Bool_t isMC,Bool_t isMixing,
    /* eta              */ Int_t etaID = taskRsnMini->CreateValue(AliRsnMiniValue::kEta, kFALSE);
    /* rapidity         */ Int_t yID = taskRsnMini->CreateValue(AliRsnMiniValue::kY, kFALSE);
 
-   Bool_t useRapidity = kTRUE;
 
    // use an array for more compact writing, which are different on mixing and charges
    // [0] = unlike
index 5a95ca705453f463cf5b525e3c96fb871ebbd294..96e204d519a8e7d39faf0445b8dfadb36fe64ea8 100755 (executable)
@@ -35,9 +35,9 @@ Bool_t AddRsnToManagerKStar(TList *listRsn) {
 //    // END Subhash for train
 
   //Francesca for train PbPb
-  listRsn->Add(new TNamed("KStar","KStarNsigma:TPCveto_PiTOFnsig20_KTOFnsig20"));
-  listRsn->Add(new TNamed("KStar","KStarNsigma:TPCveto_PiTOFnsig15_KTOFnsig15"));
-  listRsn->Add(new TNamed("KStar","KStarNsigma:TPCveto_PiTOFnsig10_KTOFnsig10"));
+  listRsn->Add(new TNamed("KStar","KStarTOFanalysis:TPCveto_PiTOFnsig20_KTOFnsig20"));
+  listRsn->Add(new TNamed("KStar","KStarTOFanalysis:TPCveto_PiTOFnsig15_KTOFnsig15"));
+  listRsn->Add(new TNamed("KStar","KStarTOFanalysis:TPCveto_PiTOFnsig10_KTOFnsig10"));
 
   //Francesca for train pp @ 2.76
   //listRsn->Add(new TNamed("KStar","KStarNsigma:combined"));
index a4c23998685da754926e53eab7b99da848ae31b3..209a1c44541615e4137cc59de52c2b95387835ac 100644 (file)
@@ -454,6 +454,47 @@ void AddMonitorOutput(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *lm=0)
    }
 
 
+   // nITCcluster
+   AliRsnValueDaughter *axisITSnClusters = new AliRsnValueDaughter("ITS", AliRsnValueDaughter::kNITSclusters);
+   axisITSnClusters->SetBins(10,0,10);
+
+   AliRsnListOutput *outMonitorITSnClusters = new AliRsnListOutput("nClusters", AliRsnListOutput::kHistoDefault);
+   outMonitorITSnClusters->AddValue(axisITSnClusters);
+   // add outputs to loop
+   if (mon) mon->Add(outMonitorITSnClusters);
+   if (lm) lm->AddOutput(outMonitorITSnClusters);
+
+   // nTPCcluster
+   AliRsnValueDaughter *axisTPCnClusters = new AliRsnValueDaughter("TPC", AliRsnValueDaughter::kNTPCclusters);
+   axisTPCnClusters->SetBins(300,0,300);
+
+   AliRsnListOutput *outMonitorTPCnClusters = new AliRsnListOutput("nClusters", AliRsnListOutput::kHistoDefault);
+   outMonitorTPCnClusters->AddValue(axisTPCnClusters);
+   // add outputs to loop
+   if (mon) mon->Add(outMonitorTPCnClusters);
+   if (lm) lm->AddOutput(outMonitorTPCnClusters);
+
+   // ITSchi2
+   AliRsnValueDaughter *axisITSchi2 = new AliRsnValueDaughter("ITS", AliRsnValueDaughter::kITSchi2);
+   axisITSchi2->SetBins(10,0,10);
+
+   AliRsnListOutput *outMonitorITSchi2 = new AliRsnListOutput("chi2", AliRsnListOutput::kHistoDefault);
+   outMonitorITSchi2->AddValue(axisITSchi2);
+   // add outputs to loop
+   if (mon) mon->Add(outMonitorITSchi2);
+   if (lm) lm->AddOutput(outMonitorITSchi2);
+
+   // TPCchi2
+   AliRsnValueDaughter *axisTPCchi2 = new AliRsnValueDaughter("TPC", AliRsnValueDaughter::kTPCchi2);
+   axisTPCchi2->SetBins(10,0,10);
+
+   AliRsnListOutput *outMonitorTPCchi2 = new AliRsnListOutput("chi2", AliRsnListOutput::kHistoDefault);
+   outMonitorTPCchi2->AddValue(axisTPCchi2);
+   // add outputs to loop
+   if (mon) mon->Add(outMonitorTPCchi2);
+   if (lm) lm->AddOutput(outMonitorTPCchi2);
+
+
    AliRsnListOutput *outMonitorPTvsMult = new AliRsnListOutput("PTvsMult",AliRsnListOutput::kHistoDefault);
    AliRsnValueDaughter *vd1 = new AliRsnValueDaughter("pt",AliRsnValueDaughter::kPt);
    vd1->SetBins(0.0,5.0,0.01);
index 00aa11cd0f8c0281b9192b32a79d07d06c24e2ec..a20901f4eab42747086ee94aebf9ea0caae15d6a 100644 (file)
@@ -12,11 +12,13 @@ TList *RsnManager() {
    Int_t mcMomentum        = 0;
    Int_t mcMon             = 0;
    
-   Int_t usePhysSel        = 1;
+   Int_t usePhysSel        = -1;
+//   usePhysSel              = AliVEvent::kMB;
    Int_t useCentralityTask = 0;
    Int_t useEventPlaneTask = 0;
    
    Double_t eventCutVertex = 10.0;
+   Int_t useYNotEta        = 0;
    
    // useCommonQualityCut=-1  -> Defaultcuts for 2010
    Int_t useCommonQualityCut = -1;
@@ -89,6 +91,7 @@ TList *RsnManager() {
    AliAnalysisManager::SetGlobalInt("rsnUsePIDResponse",1);
    
    AliAnalysisManager::SetGlobalInt("rsnCommonQualityCut",useCommonQualityCut);
+   AliAnalysisManager::SetGlobalInt("rsnUseRapidity",useYNotEta);
    
    // rsn options