Some changes so that I can do all the different approaches in the same train:
authormvl <mvl@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 May 2013 18:23:32 +0000 (18:23 +0000)
committermvl <mvl@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 15 May 2013 18:23:32 +0000 (18:23 +0000)
   -taking the leading trigger
   -taking only one of the triggers in the reference class some X% of the data and taking only one of the triggers in the signal class in (1-X)% of the data.
   -taking all the triggers above 10 GeV.
(Leticia)

PWGJE/AliAnalysisTaskJetCore.cxx
PWGJE/AliAnalysisTaskJetCore.h
PWGJE/macros/AddTaskJetCore.C

index a0e0d5c..9ea3302 100644 (file)
@@ -88,8 +88,11 @@ fDoEventMixing(0),
 fFlagPhiBkg(0),
 fFlagEtaBkg(0),
 fFlagJetHadron(0),
-fTTLow(11),
-fTTUp(13),
+fFrac(0.8),
+fTTLowRef(11),
+fTTUpRef(13),
+fTTLowSig(15),
+fTTUpSig(19),
 fHardest(0),
 fFlagRandom(0),
 fFlagOnlyRecoil(0),
@@ -212,8 +215,11 @@ fDoEventMixing(0),
 fFlagPhiBkg(0),
 fFlagEtaBkg(0),
 fFlagJetHadron(0),
-fTTLow(11),
-fTTUp(13),
+fFrac(0.8),
+fTTLowRef(11),
+fTTUpRef(13),
+fTTLowSig(15),
+fTTUpSig(19),
 fHardest(0),
 fFlagRandom(0),
 fFlagOnlyRecoil(0),
@@ -689,15 +695,27 @@ void AliAnalysisTaskJetCore::UserExec(Option_t *)
    aodJets[1] = dynamic_cast<TClonesArray*>(fAODIn->FindListObject(fJetBranchName[1].Data()));  } 
 
 
-   //Double_t ptsub[aodJets[0]->GetEntriesFast()];
-   //Int_t inord[aodJets[0]->GetEntriesFast()];
-   //for(Int_t n=0;n<aodJets[0]->GetEntriesFast();n++){
-   //  ptsub[n]=0;
-   //  inord[n]=0;}   
+
    Int_t nT=0;
    TList ParticleList;
-   if(fHardest==1) nT = GetListOfTracks(&ParticleList);
-   if(fHardest==0) nT=SelectTrigger(&ParticleList);
+   Double_t minT=0;
+   Double_t maxT=0;
+   Double_t dice=fRandom->Uniform(0,1);
+   if(dice>fFrac){ minT=fTTLowRef;
+                   maxT=fTTUpRef;}
+   if(dice<=fFrac){minT=fTTLowSig;
+                   maxT=fTTUpSig;} 
+
+
+
+   if(fHardest==1 || fHardest==2) nT = GetListOfTracks(&ParticleList);
+   if(fHardest==0) nT=SelectTrigger(&ParticleList,minT,maxT);
+   if(nT<0){  
+   PostData(1, fOutputList);
+   return;}   
+
+
+
      for (Int_t iJetType = 0; iJetType < 2; iJetType++) {
       fListJets[iJetType]->Clear();
       if (!aodJets[iJetType]) continue;
@@ -726,27 +744,37 @@ void AliAnalysisTaskJetCore::UserExec(Option_t *)
    Int_t trigInTrack=-1;
    fRPAngle = aod->GetHeader()->GetEventplane();     
 
-
-
+   if(fHardest==0 || fHardest==1){
    AliVParticle *partback = (AliVParticle*)ParticleList.At(nT);     
    if(!partback){  
    PostData(1, fOutputList);
    return;}
 
+    if(fSemigoodCorrect){
+   Double_t disthole=RelativePhi(partback->Phi(),fHolePos);
+   if(TMath::Abs(disthole)+fHoleWidth>TMath::Pi()-0.6){ 
+   PostData(1, fOutputList);
+   return;}} 
+
+
+    }
+
+
+   for(Int_t tt=0;tt<ParticleList.GetEntries();tt++){
+     if(fHardest==0||fHardest==1){if(tt!=nT) continue;}
+     AliVParticle *partback = (AliVParticle*)ParticleList.At(tt);     
+     if(!partback) continue;
+     if(partback->Pt()<10) continue;
 
-   //for(Int_t tt=0;tt<ParticleList.GetEntries();tt++){
-   //if(fFlagOnlyHardest!=0){if(tt!=nT) continue;}
-   //AliVParticle *partback = (AliVParticle*)ParticleList.At(tt);     
    Double_t accep=2.*TMath::Pi()*1.8;
    Int_t injet4=0;
    Int_t injet=0; 
+
    if(fSemigoodCorrect){
    Double_t disthole=RelativePhi(partback->Phi(),fHolePos);
-   if(TMath::Abs(disthole)+fHoleWidth>TMath::Pi()-0.6){ 
-   PostData(1, fOutputList);
-   return;}
+   if(TMath::Abs(disthole)+fHoleWidth>TMath::Pi()-0.6) continue;}
 
-   }
+   
 
    fh2Ntriggers->Fill(centValue,partback->Pt());
    Double_t phiBinT = RelativePhi(partback->Phi(),fRPAngle);
@@ -1077,7 +1105,7 @@ void AliAnalysisTaskJetCore::UserExec(Option_t *)
 
     
 
-
+   }
 
 
 
@@ -1162,14 +1190,14 @@ Int_t  AliAnalysisTaskJetCore::GetListOfTracks(TList *list){
 
 
 
-     Int_t  AliAnalysisTaskJetCore::SelectTrigger(TList *list){
+Int_t  AliAnalysisTaskJetCore::SelectTrigger(TList *list,Double_t minT,Double_t maxT){
      Int_t iCount = 0;
      AliAODEvent *aod = 0;
      if(!fESD)aod = fAODIn;
      else aod = fAODOut;   
      if(!aod)return 0;
      Int_t index=-1;
-     Double_t triggers[100];
+     Int_t triggers[100];
      for(Int_t cr=0;cr<100;cr++){triggers[cr]=-1;}
      Int_t im=0;
      for(int it = 0;it < aod->GetNumberOfTracks();++it){
@@ -1186,7 +1214,7 @@ Int_t  AliAnalysisTaskJetCore::GetListOfTracks(TList *list){
       list->Add(tr);
       iCount++;
       
-      if(tr->Pt()>=fTTLow && tr->Pt()<fTTUp){
+      if(tr->Pt()>=minT && tr->Pt()<maxT){
        triggers[im]=iCount-1;
         im=im+1;}
 
index 98fb57f..37740b4 100644 (file)
@@ -84,8 +84,11 @@ public:
    virtual void     SetFlagPhiBkg(Int_t yesno){fFlagPhiBkg=yesno;}
    virtual void     SetFlagEtaBkg(Int_t yesno){fFlagEtaBkg=yesno;}
    virtual void     SetFlagJetHadron(Int_t yesno){fFlagJetHadron=yesno;}
-   virtual void     SetTTLow(Float_t ttlow){fTTLow=ttlow;}
-   virtual void     SetTTUp(Float_t ttup){fTTUp=ttup;}
+   virtual void     SetFlagFrac(Float_t fraction){fFrac=fraction;} 
+   virtual void     SetTTLowRef(Float_t ttlow){fTTLowRef=ttlow;}
+   virtual void     SetTTUpRef(Float_t ttup){fTTUpRef=ttup;}
+   virtual void     SetTTLowSig(Float_t ttlows){fTTLowSig=ttlows;}
+   virtual void     SetTTUpSig(Float_t ttups){fTTUpSig=ttups;}
    virtual void     SetFlagHardest(Int_t yesno){fHardest=yesno;}
    virtual void     SetFlagRandom(Int_t yesno){fFlagRandom=yesno;}
    virtual void     SetFlagOnlyRecoil(Int_t yesno){fFlagOnlyRecoil=yesno;}
@@ -113,7 +116,7 @@ private:
     AliAODEvent *fAODOut;    //! AOD event 
     AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
     Int_t   GetListOfTracks(TList *list);
-   Int_t   SelectTrigger(TList *list);
+   Int_t   SelectTrigger(TList *list,Double_t minT,Double_t maxT);
    Int_t   GetHardestTrackBackToJet(AliAODJet *jet);
    Int_t   GetListOfTracksCloseToJet(TList *list,AliAODJet *jet);
    // jets to compare
@@ -145,8 +148,11 @@ private:
    Int_t   fFlagPhiBkg;
    Int_t   fFlagEtaBkg;
    Int_t   fFlagJetHadron;
-   Float_t fTTLow;
-   Float_t fTTUp;
+   Float_t fFrac;               //fraction of events to evaluate signal
+   Float_t fTTLowRef;
+   Float_t fTTUpRef;
+   Float_t fTTLowSig;
+   Float_t fTTUpSig;
    Int_t   fHardest;
    Int_t   fFlagRandom;
    Int_t   fFlagOnlyRecoil;
index 9eba2c4..f2ab78c 100644 (file)
@@ -1,6 +1,6 @@
 
 
-AliAnalysisTaskJetCore* AddTaskJetCore(const char* bRec1,const char* bRec2, UInt_t filterMask = 272 , Float_t ptTrackMin = 0.15, Int_t kTriggerMask=0, Int_t eventClassMin = 0, Int_t eventClassMax = 4){
+AliAnalysisTaskJetCore* AddTaskJetCore(const char* bRec1,const char* bRec2, UInt_t filterMask = 272 , Float_t ptTrackMin = 0.15, Int_t kTriggerMask=0, Int_t eventClassMin = 0, Int_t eventClassMax = 4,Int_t kHardest=1,Float_t kTTminr=11,Float_t kTTmaxr=13,Float_t kTTmins=15,Float_t kTTmaxs=19){
 
    Printf("adding task jet response\n");
 
@@ -20,7 +20,7 @@ AliAnalysisTaskJetCore* AddTaskJetCore(const char* bRec1,const char* bRec2, UInt
   TString typeRec(bRec1);
   TString typeGen(bRec2);
       
-  AliAnalysisTaskJetCore *task = new AliAnalysisTaskJetCore(Form("JetCore_%s_%s_%d",bRec1,bRec2,kTriggerMask));
+  AliAnalysisTaskJetCore *task = new AliAnalysisTaskJetCore(Form("JetCore_%s_%s_%d_%d_%f%f%f%f",bRec1,bRec2,kTriggerMask,kHardest,kTTminr,kTTmaxr,kTTmins,kTTmaxs));
    
 
 
@@ -31,7 +31,11 @@ AliAnalysisTaskJetCore* AddTaskJetCore(const char* bRec1,const char* bRec2, UInt
    task->SetCentMin(0.);
    task->SetCentMax(100.);
    task->SetFilterMask(filterMask); 
+   task->SetFlagHardest(kHardest);
+   task->SetTTLowRef(kTTminr);
+   task->SetTTUpRef(kTTmaxr);
+   task->SetTTLowSig(kTTmins);
+   task->SetTTUpSig(kTTmaxs);
    
    task->SetJetPtMin(0.);   
    //task->SetAngStructCloseTracks(1);
@@ -41,7 +45,7 @@ AliAnalysisTaskJetCore* AddTaskJetCore(const char* bRec1,const char* bRec2, UInt
    mgr->AddTask(task);
 
 
-   AliAnalysisDataContainer *coutputJetCore = mgr->CreateContainer(Form("pwgjejetcore_%s_%s_%d",bRec1,bRec2,kTriggerMask), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_jetcore_%s_%s_%d",AliAnalysisManager::GetCommonFileName(),bRec1,bRec2,kTriggerMask));
+   AliAnalysisDataContainer *coutputJetCore = mgr->CreateContainer(Form("pwgjejetcore_%s_%s_%d_%d_%f%f%f%f",bRec1,bRec2,kTriggerMask,kHardest,kTTminr,kTTmaxr,kTTmins,kTTmaxs), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_jetcore_%s_%s_%d_%d_%f%f%f%f",AliAnalysisManager::GetCommonFileName(),bRec1,bRec2,kTriggerMask,kHardest,kTTminr,kTTmaxr,kTTmins,kTTmaxs));