ROOT logo

void sim_hlt_calo(const char *input = "./", const char *grp = "./", bool doPhos = true, bool doEmcal = true, bool doTM = true)
{

    //AliCDBManager::Instance()->SetRun(0);

 //   if (!gSystem->AccessPathName("galice.root")) {
   if(0){
        cerr << "please delete the galice.root or run at different place." << endl;
        return;
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////
    //
    // init the HLT system in order to define the analysis chain below
    //
    AliHLTSystem* gHLT=AliHLTPluginBase::GetInstance();

    // Input to the ESD converter
    TString ecInput;
    TString option="libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTCalo.so libAliHLTPHOS.so libAliHLTEMCAL.so libAliHLTGlobal.so loglevel=0x7f chains=ESD-CONVERTER";

 const char* cdbEntry="GRP/Geometry/Data";
  AliCDBManager* pMan=AliCDBManager::Instance();
  if (pMan) {
    if (!pMan->IsDefaultStorageSet()) {
      pMan->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
      pMan->SetRun(0);
    }
    AliCDBEntry *pEntry = pMan->Get(cdbEntry);
    if (pEntry && 
	pEntry->GetObject()) {
    } else {
      HLTWarning("can not load CDB entry %s", cdbEntry);
    }
  }

//    if (doPhos)
    if(0)
    {
        ///////////////////////////////////////
        // The PHOS part of the chain
        //////////////////////////////////////

        int moduleStart = 2;
        int moduleEnd = 4;
        int rcuStart = 0;
        int rcuEnd = 3;
        int rcusPerModule = 4;
        int ddlOffset = 1792;

        for (int module = moduleStart; module <= moduleEnd; module++)
        {
            TString clInput;

             TString arg, cl;

            // Clusterizer
            cl.Form("PHS-CL_%02d", module);
            arg = "";
            AliHLTConfiguration clConf(cl.Data(), "PhosClusterizer", clInput.Data(), arg.Data());

            if (ecInput.Length() > 0) ecInput += " ";
            ecInput += cl;
        }

        // END OF PHOS
    }

    if (doEmcal)
    {
        int moduleStart = 0;
        int moduleEnd = 0;
        int rcuStart = 0;
        int rcuEnd = 1;
        int rcusPerModule = 2;
        int ddlOffset = 4608;

        histoInput = "";

        for (int module = moduleStart; module <= moduleEnd; module++)
        {
            TString clInput;

            for (int rcu = rcuStart; rcu <= rcuEnd; rcu++)
            {
 /*               TString arg, publisher, ra, dm;
                // raw data publisher components
                publisher.Form("EMC-RP_%02d_%d", module, rcu);
                arg.Form("-minid %d -datatype 'DDL_RAW ' 'EMCA'  -dataspec 0x%x ", ddlOffset + module*(rcusPerModule) + rcu, 0x1 << (module*rcusPerModule + rcu));
                AliHLTConfiguration pubConf(publisher.Data(), "AliRawReaderPublisher", NULL , arg.Data());
		
		
                // Raw analyzer
                arg = "";
                ra.Form("EMC-RA_%02d_%d", module, rcu);
                AliHLTConfiguration rawConf(ra.Data(), "EmcalRawCrude", publisher.Data(), arg.Data());

                // digit maker components
                dm.Form("EMC-DM_%02d_%d", module, rcu);
                arg="";
                AliHLTConfiguration dmConf(dm.Data(), "EmcalDigitMaker", ra.Data(), arg.Data());

                if (clInput.Length() > 0) clInput += " ";
                clInput+=dm;
  */          }
            
            TString arg, publisher, cl, ca;
	    publisher.Form("EMC-DP_%02d", module);
	    arg.Form("-detector EMCAL -module %d", module);
	    AliHLTConfiguration digPubConf(publisher.Data(), "CaloDigitPublisher", NULL, arg.Data());
	    
            // Clusterizer
            cl.Form("EMC-CL_%02d", module);
            arg = "";
            AliHLTConfiguration clConf(cl.Data(), "EmcalClusterizer", publisher.Data(), arg.Data());

            if (ecInput.Length() > 0) ecInput += " ";
            ecInput += cl;
        }


        // END OF EMCAL
    }

    // If there are no tracks it shouldn't do anything...
    AliHLTConfiguration tmconf("track-matcher", "TrackMatcher", ecInput.Data(), "");

    //if (doEmcal)
    if(0)
    {
        // EMCAL Histograms
        AliHLTConfiguration hconf("emcalHistocomp", "CaloPhysicsHistos", "track-matcher", "-emcal -invariantmass -clusterenergy -matchedtracks");
        AliHLTConfiguration fwconf("emcalHist", "ROOTFileWriter"   , "emcalHistocomp", "-datafile emcalHistograms -concatenate-events -overwrite");
    }

    //if (doPhos)
    if(0)
    {
        // PHOS Histograms
        AliHLTConfiguration hconf("phosHistocomp", "CaloPhysicsHistos", "track-matcher", "-phos -invariantmass -clusterenergy -matchedtracks");
        AliHLTConfiguration fwconf("phosHist", "ROOTFileWriter"   , "phosHistocomp", "-datafile phosHistograms -concatenate-events -overwrite");
    }
    
    TString arg, ec;


    ec.Form("ESD-CONVERTER");
    arg = "";

    AliHLTConfiguration esdcconf(ec.Data(), "GlobalEsdConverter"   , "track-matcher", "");
    
    AliSimulation sim;
        sim.SetRunHLT("libAliHLTUtil.so libAliHLTRCU.so libAliHLTTPC.so libAliHLTCalo.so libAliHLTPHOS.so libAliHLTEMCAL.so libAliHLTGlobal.so loglevel=0x7f chains=ESD-CONVERTER");
        sim.SetRunGeneration(kFALSE);
        sim.SetMakeDigits("");
        sim.SetMakeSDigits("");
        //sim.SetMakeDigits("EMCAL");
        //sim.SetMakeSDigits("EMCAL");
        sim.SetMakeDigitsFromHits("");
	sim.SetDefaultStorage("local://$ALICE_ROOT/OCDB");
	sim.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd()));

        sim.Run(5);

    
}
 sim_hlt_emcal.C:1
 sim_hlt_emcal.C:2
 sim_hlt_emcal.C:3
 sim_hlt_emcal.C:4
 sim_hlt_emcal.C:5
 sim_hlt_emcal.C:6
 sim_hlt_emcal.C:7
 sim_hlt_emcal.C:8
 sim_hlt_emcal.C:9
 sim_hlt_emcal.C:10
 sim_hlt_emcal.C:11
 sim_hlt_emcal.C:12
 sim_hlt_emcal.C:13
 sim_hlt_emcal.C:14
 sim_hlt_emcal.C:15
 sim_hlt_emcal.C:16
 sim_hlt_emcal.C:17
 sim_hlt_emcal.C:18
 sim_hlt_emcal.C:19
 sim_hlt_emcal.C:20
 sim_hlt_emcal.C:21
 sim_hlt_emcal.C:22
 sim_hlt_emcal.C:23
 sim_hlt_emcal.C:24
 sim_hlt_emcal.C:25
 sim_hlt_emcal.C:26
 sim_hlt_emcal.C:27
 sim_hlt_emcal.C:28
 sim_hlt_emcal.C:29
 sim_hlt_emcal.C:30
 sim_hlt_emcal.C:31
 sim_hlt_emcal.C:32
 sim_hlt_emcal.C:33
 sim_hlt_emcal.C:34
 sim_hlt_emcal.C:35
 sim_hlt_emcal.C:36
 sim_hlt_emcal.C:37
 sim_hlt_emcal.C:38
 sim_hlt_emcal.C:39
 sim_hlt_emcal.C:40
 sim_hlt_emcal.C:41
 sim_hlt_emcal.C:42
 sim_hlt_emcal.C:43
 sim_hlt_emcal.C:44
 sim_hlt_emcal.C:45
 sim_hlt_emcal.C:46
 sim_hlt_emcal.C:47
 sim_hlt_emcal.C:48
 sim_hlt_emcal.C:49
 sim_hlt_emcal.C:50
 sim_hlt_emcal.C:51
 sim_hlt_emcal.C:52
 sim_hlt_emcal.C:53
 sim_hlt_emcal.C:54
 sim_hlt_emcal.C:55
 sim_hlt_emcal.C:56
 sim_hlt_emcal.C:57
 sim_hlt_emcal.C:58
 sim_hlt_emcal.C:59
 sim_hlt_emcal.C:60
 sim_hlt_emcal.C:61
 sim_hlt_emcal.C:62
 sim_hlt_emcal.C:63
 sim_hlt_emcal.C:64
 sim_hlt_emcal.C:65
 sim_hlt_emcal.C:66
 sim_hlt_emcal.C:67
 sim_hlt_emcal.C:68
 sim_hlt_emcal.C:69
 sim_hlt_emcal.C:70
 sim_hlt_emcal.C:71
 sim_hlt_emcal.C:72
 sim_hlt_emcal.C:73
 sim_hlt_emcal.C:74
 sim_hlt_emcal.C:75
 sim_hlt_emcal.C:76
 sim_hlt_emcal.C:77
 sim_hlt_emcal.C:78
 sim_hlt_emcal.C:79
 sim_hlt_emcal.C:80
 sim_hlt_emcal.C:81
 sim_hlt_emcal.C:82
 sim_hlt_emcal.C:83
 sim_hlt_emcal.C:84
 sim_hlt_emcal.C:85
 sim_hlt_emcal.C:86
 sim_hlt_emcal.C:87
 sim_hlt_emcal.C:88
 sim_hlt_emcal.C:89
 sim_hlt_emcal.C:90
 sim_hlt_emcal.C:91
 sim_hlt_emcal.C:92
 sim_hlt_emcal.C:93
 sim_hlt_emcal.C:94
 sim_hlt_emcal.C:95
 sim_hlt_emcal.C:96
 sim_hlt_emcal.C:97
 sim_hlt_emcal.C:98
 sim_hlt_emcal.C:99
 sim_hlt_emcal.C:100
 sim_hlt_emcal.C:101
 sim_hlt_emcal.C:102
 sim_hlt_emcal.C:103
 sim_hlt_emcal.C:104
 sim_hlt_emcal.C:105
 sim_hlt_emcal.C:106
 sim_hlt_emcal.C:107
 sim_hlt_emcal.C:108
 sim_hlt_emcal.C:109
 sim_hlt_emcal.C:110
 sim_hlt_emcal.C:111
 sim_hlt_emcal.C:112
 sim_hlt_emcal.C:113
 sim_hlt_emcal.C:114
 sim_hlt_emcal.C:115
 sim_hlt_emcal.C:116
 sim_hlt_emcal.C:117
 sim_hlt_emcal.C:118
 sim_hlt_emcal.C:119
 sim_hlt_emcal.C:120
 sim_hlt_emcal.C:121
 sim_hlt_emcal.C:122
 sim_hlt_emcal.C:123
 sim_hlt_emcal.C:124
 sim_hlt_emcal.C:125
 sim_hlt_emcal.C:126
 sim_hlt_emcal.C:127
 sim_hlt_emcal.C:128
 sim_hlt_emcal.C:129
 sim_hlt_emcal.C:130
 sim_hlt_emcal.C:131
 sim_hlt_emcal.C:132
 sim_hlt_emcal.C:133
 sim_hlt_emcal.C:134
 sim_hlt_emcal.C:135
 sim_hlt_emcal.C:136
 sim_hlt_emcal.C:137
 sim_hlt_emcal.C:138
 sim_hlt_emcal.C:139
 sim_hlt_emcal.C:140
 sim_hlt_emcal.C:141
 sim_hlt_emcal.C:142
 sim_hlt_emcal.C:143
 sim_hlt_emcal.C:144
 sim_hlt_emcal.C:145
 sim_hlt_emcal.C:146
 sim_hlt_emcal.C:147
 sim_hlt_emcal.C:148
 sim_hlt_emcal.C:149
 sim_hlt_emcal.C:150
 sim_hlt_emcal.C:151
 sim_hlt_emcal.C:152
 sim_hlt_emcal.C:153
 sim_hlt_emcal.C:154
 sim_hlt_emcal.C:155
 sim_hlt_emcal.C:156
 sim_hlt_emcal.C:157
 sim_hlt_emcal.C:158
 sim_hlt_emcal.C:159
 sim_hlt_emcal.C:160
 sim_hlt_emcal.C:161
 sim_hlt_emcal.C:162
 sim_hlt_emcal.C:163
 sim_hlt_emcal.C:164
 sim_hlt_emcal.C:165
 sim_hlt_emcal.C:166
 sim_hlt_emcal.C:167
 sim_hlt_emcal.C:168