]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Updates from Chris
authormvl <mvl@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 13 Jul 2013 21:17:37 +0000 (21:17 +0000)
committermvl <mvl@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 13 Jul 2013 21:17:37 +0000 (21:17 +0000)
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskFullpAJets.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskFullpAJets.h
PWGJE/EMCALJetTasks/macros/AddTaskFullpAJets.C

index 445147b4706bc80ae003aaa6c49e42cffd340f5d..bff6d044362a44e35c6119e794f94433f13476bb 100644 (file)
@@ -59,9 +59,17 @@ AliAnalysisTaskFullpAJets::AliAnalysisTaskFullpAJets() :
     fpTPCEventMult(0),
     fpRhoScale(0),
 
+    fpJetEtaProfile(0),
+    fpJetAbsEtaProfile(0),
+    fpChargedJetRProfile(0),
+    fpJetRProfile(0),
+
     fpTrackPtProfile(0),
     fpClusterPtProfile(0),
 
+    fpChargedJetEDProfile(0),
+    fpJetEDProfile(0),
+
     fTPCRawJets(0),
     fEMCalRawJets(0),
     fRhoFull0(0),
@@ -146,6 +154,12 @@ AliAnalysisTaskFullpAJets::AliAnalysisTaskFullpAJets() :
     fEMCalJetThreshold(5),
     fVertexWindow(10),
     fVertexMaxR(1),
+    fTrackName(0),
+    fClusName(0),
+    fkTChargedName(0),
+    fAkTChargedName(0),
+    fkTFullName(0),
+    fAkTFullName(0),
     fOrgTracks(0),
     fOrgClusters(0),
     fmyAKTFullJets(0),
@@ -193,9 +207,17 @@ AliAnalysisTaskFullpAJets::AliAnalysisTaskFullpAJets(const char *name) :
     fpTPCEventMult(0),
     fpRhoScale(0),
 
+    fpJetEtaProfile(0),
+    fpJetAbsEtaProfile(0),
+    fpChargedJetRProfile(0),
+    fpJetRProfile(0),
+
     fpTrackPtProfile(0),
     fpClusterPtProfile(0),
 
+    fpChargedJetEDProfile(0),
+    fpJetEDProfile(0),
+
     fTPCRawJets(0),
     fEMCalRawJets(0),
     fRhoFull0(0),
@@ -280,6 +302,12 @@ AliAnalysisTaskFullpAJets::AliAnalysisTaskFullpAJets(const char *name) :
     fEMCalJetThreshold(5),
     fVertexWindow(10),
     fVertexMaxR(1),
+    fTrackName(0),
+    fClusName(0),
+    fkTChargedName(0),
+    fAkTChargedName(0),
+    fkTFullName(0),
+    fAkTFullName(0),
     fOrgTracks(0),
     fOrgClusters(0),
     fmyAKTFullJets(0),
@@ -658,30 +686,20 @@ void AliAnalysisTaskFullpAJets::UserCreateOutputObjects()
 
 void AliAnalysisTaskFullpAJets::UserExecOnce()
 {
-    // Get the event tracks from PicoTracks
-    TString track_name="PicoTracks";
-    fOrgTracks = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(track_name));
+    // Get the event tracks
+    fOrgTracks = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fTrackName));
     
-    // Get the event caloclusters from CaloClustersCorr
-    TString cluster_name="caloClustersCorr";
-    //TString cluster_name="EmcalClusters";
-    fOrgClusters = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(cluster_name));
+    // Get the event caloclusters
+    fOrgClusters = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fClusName));
     
     // Get charged jets
-    TString jet_algorithm=Form("Jet_AKTChargedR0%d0_PicoTracks_pT0150",fRJET);
-    fmyAKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
-
-    jet_algorithm=Form("Jet_KTChargedR0%d0_PicoTracks_pT0150",fRJET);
-    fmyKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
+    fmyKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fkTChargedName));
+    fmyAKTChargedJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fAkTChargedName));
 
     // Get the full jets
-    jet_algorithm=Form("Jet_AKTFullR0%d0_PicoTracks_pT0150_caloClustersCorr_ET0300",fRJET);
-    fmyAKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
-    
-    jet_algorithm=Form("Jet_KTFullR0%d0_PicoTracks_pT0150_caloClustersCorr_ET0300",fRJET);
-    fmyKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(jet_algorithm));
-    
-    jet_algorithm="";
+    fmyKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fkTFullName));
+    fmyAKTFullJets = dynamic_cast <TClonesArray*>(InputEvent()->FindListObject(fAkTFullName));
+
     fIsInitialized=kTRUE;
 }
 //________________________________________________________________________
@@ -747,16 +765,14 @@ void AliAnalysisTaskFullpAJets::UserExec(Option_t *)
     fhCentrality->Fill(fEventCentrality);
     
     TrackCuts();
-    /*
     // Reject any event that doesn't have any tracks, i.e. TPC is off
     if (fnTracks<1)
     {
         AliWarning("No PicoTracks, Rejecting Event");
         return;
     }
-    */
+    
     ClusterCuts();
-    /*
     if (fnClusters<1)
     {
         AliInfo("No Corrected CaloClusters, using only charged jets");
@@ -781,7 +797,7 @@ void AliAnalysisTaskFullpAJets::UserExec(Option_t *)
         PostData(1, fOutput);
         return;
     }
-    */
+    
     TrackHisto();
     ClusterHisto();
     
@@ -2995,13 +3011,45 @@ Double_t AliAnalysisTaskFullpAJets::MedianRhokT(Double_t *pTkTEntries, Double_t
 
 // AlipAJetData Class Member Defs
 // Constructors
-AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData()
+AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData() :
+
+    fName(0),
+    fIsJetsFull(0),
+    fnTotal(0),
+    fnJets(0),
+    fnJetsSC(0),
+    fJetR(0),
+    fSignalPt(0),
+    fAreaCutFrac(0.6),
+    fPtMaxIndex(0),
+    fPtMax(0),
+    fPtSubLeadingIndex(0),
+    fPtSubLeading(0),
+    fJetsIndex(0),
+    fJetsSCIndex(0),
+    fIsJetInArray(0)
 {
     fnTotal=0;
     // Dummy constructor ALWAYS needed for I/O.
 }
 
-AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData(const char *name, Bool_t isFull, Int_t nEntries)
+AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData(const char *name, Bool_t isFull, Int_t nEntries) :
+
+    fName(0),
+    fIsJetsFull(0),
+    fnTotal(0),
+    fnJets(0),
+    fnJetsSC(0),
+    fJetR(0),
+    fSignalPt(0),
+    fAreaCutFrac(0.6),
+    fPtMaxIndex(0),
+    fPtMax(0),
+    fPtSubLeadingIndex(0),
+    fPtSubLeading(0),
+    fJetsIndex(0),
+    fJetsSCIndex(0),
+    fIsJetInArray(0)
 {
     SetName(name);
     SetIsJetsFull(isFull);
@@ -3010,7 +3058,7 @@ AliAnalysisTaskFullpAJets::AlipAJetData::AlipAJetData(const char *name, Bool_t i
     SetSubLeading(0,-9.99E+099);
     SetSignalCut(0);
     SetAreaCutFraction(0.6);
-    SetJetR(0.4);
+    SetJetR(fJetR);
 }
 
 // Destructor
@@ -3202,12 +3250,114 @@ Bool_t AliAnalysisTaskFullpAJets::AlipAJetData::GetIsJetInArray(Int_t At)
 
 // AlipAJetHistos Class Member Defs
 // Constructors
-AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos()
+AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos() :
+
+    fOutput(0),
+
+    fh020Rho(0),
+    fh80100Rho(0),
+    fhRho(0),
+    fhRhoCen(0),
+    fh020BSPt(0),
+    fh80100BSPt(0),
+    fhBSPt(0),
+    fhBSPtCen(0),
+    fh020BSPtSignal(0),
+    fh80100BSPtSignal(0),
+    fhBSPtSignal(0),
+    fhBSPtCenSignal(0),
+    fh020DeltaPt(0),
+    fh80100DeltaPt(0),
+    fhDeltaPt(0),
+    fhDeltaPtCen(0),
+    fh020DeltaPtSignal(0),
+    fh80100DeltaPtSignal(0),
+    fhDeltaPtSignal(0),
+    fhDeltaPtCenSignal(0),
+    fh020BckgFlucPt(0),
+    fh80100BckgFlucPt(0),
+    fhBckgFlucPt(0),
+    fhBckgFlucPtCen(0),
+
+    fpRho(0),
+    fpLJetRho(0),
+
+    fName(0),
+    fCentralityTag(0),
+    fCentralityBins(0),
+    fCentralityLow(0),
+    fCentralityUp(0),
+    fPtBins(0),
+    fPtLow(0),
+    fPtUp(0),
+    fRhoPtBins(0),
+    fRhoPtLow(0),
+    fRhoPtUp(0),
+    fDeltaPtBins(0),
+    fDeltaPtLow(0),
+    fDeltaPtUp(0),
+    fBckgFlucPtBins(0),
+    fBckgFlucPtLow(0),
+    fBckgFlucPtUp(0),
+    fLJetPtBins(0),
+    fLJetPtLow(0),
+    fLJetPtUp(0)
 {
     // Dummy constructor ALWAYS needed for I/O.
 }
 
-AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name)
+AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name) :
+
+    fOutput(0),
+
+    fh020Rho(0),
+    fh80100Rho(0),
+    fhRho(0),
+    fhRhoCen(0),
+    fh020BSPt(0),
+    fh80100BSPt(0),
+    fhBSPt(0),
+    fhBSPtCen(0),
+    fh020BSPtSignal(0),
+    fh80100BSPtSignal(0),
+    fhBSPtSignal(0),
+    fhBSPtCenSignal(0),
+    fh020DeltaPt(0),
+    fh80100DeltaPt(0),
+    fhDeltaPt(0),
+    fhDeltaPtCen(0),
+    fh020DeltaPtSignal(0),
+    fh80100DeltaPtSignal(0),
+    fhDeltaPtSignal(0),
+    fhDeltaPtCenSignal(0),
+    fh020BckgFlucPt(0),
+    fh80100BckgFlucPt(0),
+    fhBckgFlucPt(0),
+    fhBckgFlucPtCen(0),
+
+    fpRho(0),
+    fpLJetRho(0),
+
+    fName(0),
+    fCentralityTag(0),
+    fCentralityBins(0),
+    fCentralityLow(0),
+    fCentralityUp(0),
+    fPtBins(0),
+    fPtLow(0),
+    fPtUp(0),
+    fRhoPtBins(0),
+    fRhoPtLow(0),
+    fRhoPtUp(0),
+    fDeltaPtBins(0),
+    fDeltaPtLow(0),
+    fDeltaPtUp(0),
+    fBckgFlucPtBins(0),
+    fBckgFlucPtLow(0),
+    fBckgFlucPtUp(0),
+    fLJetPtBins(0),
+    fLJetPtLow(0),
+    fLJetPtUp(0)
 {
     SetName(name);
     SetCentralityTag("V0A");
@@ -3221,7 +3371,58 @@ AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name)
     Init();
 }
 
-AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name, const char *centag)
+AliAnalysisTaskFullpAJets::AlipAJetHistos::AlipAJetHistos(const char *name, const char *centag) :
+
+    fOutput(0),
+
+    fh020Rho(0),
+    fh80100Rho(0),
+    fhRho(0),
+    fhRhoCen(0),
+    fh020BSPt(0),
+    fh80100BSPt(0),
+    fhBSPt(0),
+    fhBSPtCen(0),
+    fh020BSPtSignal(0),
+    fh80100BSPtSignal(0),
+    fhBSPtSignal(0),
+    fhBSPtCenSignal(0),
+    fh020DeltaPt(0),
+    fh80100DeltaPt(0),
+    fhDeltaPt(0),
+    fhDeltaPtCen(0),
+    fh020DeltaPtSignal(0),
+    fh80100DeltaPtSignal(0),
+    fhDeltaPtSignal(0),
+    fhDeltaPtCenSignal(0),
+    fh020BckgFlucPt(0),
+    fh80100BckgFlucPt(0),
+    fhBckgFlucPt(0),
+    fhBckgFlucPtCen(0),
+
+    fpRho(0),
+    fpLJetRho(0),
+
+    fName(0),
+    fCentralityTag(0),
+    fCentralityBins(0),
+    fCentralityLow(0),
+    fCentralityUp(0),
+    fPtBins(0),
+    fPtLow(0),
+    fPtUp(0),
+    fRhoPtBins(0),
+    fRhoPtLow(0),
+    fRhoPtUp(0),
+    fDeltaPtBins(0),
+    fDeltaPtLow(0),
+    fDeltaPtUp(0),
+    fBckgFlucPtBins(0),
+    fBckgFlucPtLow(0),
+    fBckgFlucPtUp(0),
+    fLJetPtBins(0),
+    fLJetPtLow(0),
+    fLJetPtUp(0)
 {
     SetName(name);
     SetCentralityTag(centag);
index 484b7247dd51e7151324a8ed7896f5a6c2679f18..869b03a2f68d86a2fbb667591173a42048ffcea0 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef AliAnalysisTaskFullpAJets_H
 #define AliAnalysisTaskFullpAJets_H
 
+class TString;
 class TH1D;
 class TH2D;
 class TH3D;
@@ -281,16 +282,43 @@ class AliAnalysisTaskFullpAJets : public AliAnalysisTaskSE
     {
         fClusterMinPt = pT;
     }
-    /*
-    inline Double_t GetScaleFactor()
+    
+    // Used to set Tracks collection name
+    inline void SetTrackName(TString name)
+    {
+        fTrackName = name;
+    };
+    
+    // Used to set Clusters collection name
+    inline void SetClusterName(TString name)
+    {
+        fClusName = name;
+    };
+
+    // Used to set kT Charged Jet collection name
+    inline void SetkTChargedJetName(TString name)
+    {
+        fkTChargedName = name;
+    };
+
+    // Used to set anti-kT Charged Jet collection name
+    inline void SetAkTChargedJetName(TString name)
     {
-        if (fRhoCharged>0)
-        {
-            return fRhoFull/fRhoCharged;
-        }
-        return -1;
+        fAkTChargedName = name;
     };
-    */
+
+    // Used to set kT Full Jet collection name
+    inline void SetkTFullJetName(TString name)
+    {
+        fkTFullName = name;
+    };
+    
+    // Used to set anti-kT Full Jet collection name
+    inline void SetAkTFullJetName(TString name)
+    {
+        fAkTFullName = name;
+    };
+
     private:
     TList *fOutput; // Output list
     
@@ -429,6 +457,16 @@ class AliAnalysisTaskFullpAJets : public AliAnalysisTaskSE
     Double_t fVertexWindow;
     Double_t fVertexMaxR;
     
+    // Tracks and Clusters string names
+    TString fTrackName;
+    TString fClusName;
+    
+    // Jet Finder string names
+    TString fkTChargedName;
+    TString fAkTChargedName;
+    TString fkTFullName;
+    TString fAkTFullName;
+    
     // Dynamic Array variables
     TClonesArray *fOrgTracks; //!
     TClonesArray *fOrgClusters; //!
index 9095a872beb3de592d99ff44807a878fefda1473..b3c44cb192c9d9a66b1becdcb0906d793497cb5b 100644 (file)
@@ -1,11 +1,13 @@
-AliAnalysisTaskFullpAJets *AddTaskFullpAJets(const Double_t jetRadius=0.4)
+AliAnalysisTaskFullpAJets *AddTaskFullpAJets(const Double_t jetRadius=0.4, Bool_t IsMC=kFALSE, const char* track_name="PicoTracks", const char* clus_name="caloClusters", const char* corrclus_name="caloClustersCorr", const char* mcpart_name="MCParticles", const char* Centrality_name="V0A")
 {
-    const char *usedTracks = "PicoTracks";
-    const char *usedClusters = "caloClusters";
-    const char *outClusName = "caloClustersCorr";
-    const char *centEst = "V0A";
+    char *usedTracks = track_name;
+    char *usedClusters = clus_name;
+    char *outClusName = corrclus_name;
+    char *usedMCParticles = mcpart_name;
+    char *centEst = Centrality_name;
     const Double_t minTrackPt=0.15;
     const Double_t minClusterPt=0.30;
+    const Double_t minMCPartPt=0.00;
     Double_t scaleFactor=1.45; // Obtained from previous runs...
     
     // Some constants for the jet finders
@@ -39,26 +41,53 @@ AliAnalysisTaskFullpAJets *AddTaskFullpAJets(const Double_t jetRadius=0.4)
 
     gROOT->LoadMacro("$ALICE_ROOT/PWGJE/EMCALJetTasks/macros/AddTaskEmcalJet.C");
     
-    // ########## CHARGED JETS ##########
-    jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+    // Add User Task
+    AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
 
-    jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+    if (IsMC == kTRUE)
+    {
+        task->SetTrackName(usedMCParticles);
+        task->SetClusterName("");
+        task->SetTrackPtCut(minMCPartPt);
+        task->SetClusterPtCut(minMCPartPt);
+        
+        // ########## CHARGED JETS ##########
+        jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt);
+        task->SetkTChargedJetName(jetFinderTask->GetName());
+        
+        jetFinderTask = AddTaskEmcalJet(usedMCParticles,"",cANTIKT,jetRadius,cCHARGEDJETS,minMCPartPt,minMCPartPt);
+        task->SetAkTChargedJetName(jetFinderTask->GetName());
+        
+        // ########## FULL JETS ##########
+        // No Full jets or clusters are used if run over MCParticles!
+        task->SetkTFullJetName("");
+        task->SetAkTFullJetName("");
+    }
+    else
+    {
+        task->SetTrackName(usedTracks);
+        task->SetClusterName(outClusName);
+        task->SetTrackPtCut(minTrackPt);
+        task->SetClusterPtCut(minClusterPt);
 
-    // ########## FULL JETS ##########
-    // last two settings are for min pt tracks/clusters
-    // anti-kT
-    jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+        // ########## CHARGED JETS ##########
+        jetFinderTask = AddTaskEmcalJet(usedTracks,"",cKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+        task->SetkTChargedJetName(jetFinderTask->GetName());
+        
+        jetFinderTask = AddTaskEmcalJet(usedTracks,"",cANTIKT,jetRadius,cCHARGEDJETS,minTrackPt,minClusterPt);
+        task->SetAkTChargedJetName(jetFinderTask->GetName());
+        
+        // ########## FULL JETS ##########
+        jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+        task->SetkTFullJetName(jetFinderTask->GetName());
 
-    // kT
-    jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+        jetFinderTask = AddTaskEmcalJet(usedTracks,outClusName,cANTIKT,jetRadius,cFULLJETS,minTrackPt,minClusterPt);
+        task->SetAkTFullJetName(jetFinderTask->GetName());
+    }
 
-    // Add User Task
-    AliAnalysisTaskFullpAJets *task = new AliAnalysisTaskFullpAJets(taskName);
     task->SetRjet(drjet);
     task->SetCentralityTag(centEst);
     task->SetScaleFactor(scaleFactor);
-    task->SetTrackPtCut(minTrackPt);
-    task->SetClusterPtCut(minClusterPt);
     task->SelectCollisionCandidates(AliVEvent::kINT7);
     
     mgr->AddTask(task);